Auteur Topic: Nederlands datumformaat op gkv.nl  (gelezen 1447 keer)

stalmanf

  • Berichten: 3
    • Bekijk profiel
Nederlands datumformaat op gkv.nl
« Gepost op: juli 03, 2006, 09:37:12 pm »
Ik probeer een datum op een site die door gkv.nl wordt gehost te formatteren naar nederlands formaat.
Ik heb daarvoor de volgende test gemaakt:
<HTML>
  <HEAD>
    <TITLE>Test formaat datum</TITLE>
  </HEAD>
  <BODY>
    Vandaag is het
    <?php
      setlocale (LC_ALL, 'nld_NLD');
      echo strftime ("%A %d %e %B %Y", mktime (0, 0, 0, 8, 22, 2006))."<BR>";
    ?>
  </BODY>
</HTML>

(Zie http://www.assen-p.gkv.nl/test.php)

Dit zou moeten resulteren in
Vandaag is het dinsdag 22 augustus 2006

Maar in plaats daarvan krijg ik
Vandaag is het Tuesday 22 22 August 2006


Doe ik iets fout of ligt het aan de configuratie van de server?

mtl

  • Moderator WEB
  • Berichten: 182
    • Bekijk profiel
Nederlands datumformaat op gkv.nl
« Reactie #1 Gepost op: juli 03, 2006, 10:43:01 pm »
Probeer dit eens te kopieren in de rest:

setlocale(LC_ALL, 'nl_NL');
echo date("%A %e %B %Y").""; // wel xhtml gebruiken

?>

Vergeet er geen < ? php enzo voor te zetten...

Ik denk dat er een foutje in je script zit.
« Laatst bewerkt op: juli 03, 2006, 10:48:03 pm door mtl »
What the caterpillar calls the end of the world God calls a butterfly.

Harm

  • Hero Member
  • *****
  • Berichten: 3849
    • Bekijk profiel
Nederlands datumformaat op gkv.nl
« Reactie #2 Gepost op: juli 04, 2006, 10:40:14 am »
PHP:
1
2
3
4

<?phpnld_NLD?>

Dit is geen geldige ISO-land- of taalformaat. Daar zou je nl_NL voor moeten gebruiken.

Daarnaast een algemene opmerking over je HTML: tags hoeven in geen enkele versie van HTML in hoofdletters en in iedere versie boven HTML 4 moet je het zelfs verplicht in kleine letters schrijven. Good practice is dus om altijd je tags in kleine letters te schrijven. Verder mist er een doctype-declaratie, waardoor je browser geen idee heeft van wat-ie precies moet renderen en dus maar wat doet. Dat kan een paar keer goed gaan, maar als je je pagina gaat testen in meerdere browsers zul je verschillen ontdekken.
"Books and cleverness! There are more important things - friendship and bravery!" - Hermione Granger

stalmanf

  • Berichten: 3
    • Bekijk profiel
Nederlands datumformaat op gkv.nl
« Reactie #3 Gepost op: juli 05, 2006, 12:06:49 am »
Ik heb inmiddels de volgende varianten geprobeerd:
1) setlocale (LC_ALL, 'Dutch');
2) setlocale (LC_ALL, 'nl_NL');
3) setlocale (LC_ALL, 'nld_NLD');

Allemaal resulteren ze in het engels formaat. Dit terwijl bij mijn eigen locale PHP installatie (op windows) de eerste en derde variant wel resulteren in een Nederlands formaat.

Voor wat betreft lowercase HTML-tags: je hebt gelijk.
Voor wat betreft de ontbrekende doctype declaratie: het was slechts een testje en niet de bedoeling een perfecte pagina te maken.

Inmiddels begin het het vermoeden te krijgen dat m'n probleem toch te maken heeft met de configuratie op de server. Volgens mij betreft het een Linux server.

In dat geval kunnen de beschikbare locales opgevraagd worden middels de opdracht
locale -a

Ik heb daartoe het volgende PHP-fragment  getest:
      ob_start();
      system('locale -a');
      $str = ob_get_contents();
      ob_end_clean();
      echo $str;

Resultaat:
    C
    POSIX
    en_US
    en_US.iso88591
 
Volgens mij ontbreekt er dus een locale op de server.


Verder lees ik op http://nl3.php.net/set_locale het volgende:
FYI: setlocale() function works on linux only if  you use --enable-libgcc parameter in configure script.

stalmanf

  • Berichten: 3
    • Bekijk profiel
Nederlands datumformaat op gkv.nl
« Reactie #4 Gepost op: juli 06, 2006, 08:01:21 pm »
Ik heb bericht gehad van Systeembeheer GKV website:

--------------------------------------------------------------
De locales voor nederland zijn aan het systeem toegevoegd
--------------------------------------------------------------

Het resultaat van mn test is nu:
C
POSIX
en_US
en_US.iso88591
nl_NL.utf8

Ik kan nu het formaat als volgt formateren naar het nederlands:
setlocale (LC_ALL, 'nl_NL.utf8');


Met dank iedereen die heeft gereageerd en Systeembeheer GKV website