[Slackware] Kan locale niet gebruiken.

Pagina: 1
Acties:

  • om3ega
  • Registratie: Maart 2001
  • Laatst online: 16-02 22:19
Ik wil gewoon een nederlandse datum aanduiding in PHP gebruiken , zonder poespas (dus conversie scripts).

Ik dacht dit simpel even op te lossen door de setlocale() te gebruiken , maar dit werkt niet.

Het probleem zit niet in het PHP script vermoed ik , maar in mijn systeem. Mocht het wel een PHP gerelateerd probleem zijn , wil een modje hem dan even naar P&W verplaatsen?

Ik draai Slackware 10.

De /usr/share/locale is aanwezig en nl is hier ook gesignaleerd.

het volgende script (ter verduidelijking)

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?
//1
setlocale(LC_ALL, 'dutch');
echo "<br>1<br>" .strftime("%A %e %B %Y", mktime(0, 0, 0, 7, 13, 2004));

//2
setlocale(LC_ALL, 'nl_NL.ISO8859-1');
echo "<br>2<br>" . strftime("%A %e %B %Y", mktime(0, 0, 0, 7, 13, 2004));

//3
setlocale(LC_ALL, 'nld_nld');
echo "<br>3<br>" .strftime("%A %e %B %Y", mktime(0, 0, 0, 7, 13, 2004));

//4
setlocale(LC_ALL, 'nl_NL');
echo "<br>4<br>" .strftime("%A %e %B %Y", mktime(0, 0, 0, 7, 13, 2004));
?>


Geeft (helaas) de volgende output

code:
1
2
3
4
5
6
7
8
1
Tuesday 13 July 2004
2
Tuesday 13 July 2004
3
Tuesday 13 July 2004
4
Tuesday 13 July 2004


Alles wat ik probeer wordt niet ge-accepteerd. Het lijkt er dus op dat Slackware de locale niet accepteerd of dat PHP er niet mee samenwerkt?

Wat kan ik nog doen om het werkend te krijgen?

  • Kees
  • Registratie: Juni 1999
  • Laatst online: 09:45

Kees

Serveradmin / BOFH / DoC
setlocale('nl') dan?

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


  • Kees
  • Registratie: Juni 1999
  • Laatst online: 09:45

Kees

Serveradmin / BOFH / DoC
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
?
//1
setlocale(LC_ALL, 'nl');
echo "<br>1<br>" .strftime("%A %e %B %Y", mktime(0, 0, 0, 7, 13, 2004));

//2
setlocale(LC_ALL, 'nl_NL.ISO8859-1');
echo "<br>2<br>" . strftime("%A %e %B %Y", mktime(0, 0, 0, 7, 13, 2004));

//3
setlocale(LC_ALL, 'nld_nld');
echo "<br>3<br>" .strftime("%A %e %B %Y", mktime(0, 0, 0, 7, 13, 2004));

//4
setlocale(LC_ALL, 'nl_NL');
echo "<br>4<br>" .strftime("%A %e %B %Y", mktime(0, 0, 0, 7, 13, 2004));
?>
<br>1 Tuesday 13 July 2004
2 dinsdag 13 juli 2004
3 dinsdag 13 juli 2004
4 dinsdag 13 juli 2004

hmm, werkt hier gewoon

[ Voor 4% gewijzigd door Kees op 19-08-2004 03:06 ]

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


  • om3ega
  • Registratie: Maart 2001
  • Laatst online: 16-02 22:19
Helaas :'( .. Zelfde resultaat..

Het PHP script zal wel werken , maar mijn systeem doet er niets mee. Ik denk dat PHP de locale van het systeem uit wil lezen..

Overigens..

/etc/profile.d/lang.sh en lang.csh ook al even geprobeerd te wijzigen , maar ben hier niet te veel in het rommelen geweest.

Zou het zinvol zijn hier nog in te snuffelen?

[ Voor 84% gewijzigd door om3ega op 19-08-2004 03:10 ]


  • om3ega
  • Registratie: Maart 2001
  • Laatst online: 16-02 22:19
Niemand een ideetje?

  • riotrick
  • Registratie: Mei 2002
  • Laatst online: 24-01 10:44
Is de nl_NL locale op slackware wel geinstalleerd? Op debian moet je em specifiek aanmaken met het locales packages. Wellicht in slack ook iets dergelijks?

Facebook :: Twitter :: PSN


  • om3ega
  • Registratie: Maart 2001
  • Laatst online: 16-02 22:19
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
locate locale/nl
/usr/share/locale/nl
/usr/share/locale/nl/LC_TIME
/usr/share/locale/nl/LC_TIME/coreutils.mo
/usr/share/locale/nl/LC_MESSAGES
/usr/share/locale/nl/LC_MESSAGES/coreutils.mo
/usr/share/locale/nl/LC_MESSAGES/findutils.mo
/usr/share/locale/nl/LC_MESSAGES/gettext-runtime.mo
/usr/share/locale/nl/LC_MESSAGES/grep.mo
/usr/share/locale/nl/LC_MESSAGES/sed.mo
/usr/share/locale/nl/LC_MESSAGES/tar.mo
/usr/share/locale/nl/LC_MESSAGES/util-linux.mo
/usr/share/locale/nl/LC_MESSAGES/opcodes.mo
/usr/share/locale/nl/LC_MESSAGES/bison.mo
/usr/share/locale/nl/LC_MESSAGES/gcc.mo
/usr/share/locale/nl/LC_MESSAGES/gettext-tools.mo
/usr/share/locale/nl/LC_MESSAGES/indent.mo
/usr/share/locale/nl/LC_MESSAGES/make.mo
/usr/share/locale/nl/LC_MESSAGES/gnupg.mo
/usr/share/locale/nl/LC_MESSAGES/lynx.mo
/usr/share/locale/nl/LC_MESSAGES/mutt.mo
/usr/share/locale/nl/LC_MESSAGES/wget.mo
/usr/share/locale/nl/LC_MESSAGES/mc.mo


Aanwezig is hij wel. Geinstalleerd? ... Moet ik het ergens nog specifiek aanroepen ?

  • om3ega
  • Registratie: Maart 2001
  • Laatst online: 16-02 22:19
Ok, ik ben een stapje verder , en het wordt steeds vreemder :) .. maar misschien dat iemand mijn symptonen herkend..

Het volgende ->

PHP:
1
2
3
4
5
6
7
8
<?
    /* Set locale to Dutch */
    setlocale (LC_ALL, 'nl_NL');

    /* Output: vrijdag 22 december 1978 */
    echo strftime ("%A %e %B %Y", mktime (0, 0, 0, 12, 22, 1978));

?>


Geeft :

Friday 22 December 1978

Met IE en met Mozilla , ook als de pagina niet uit de cache gehaald wordt (CTRL-F5 en SHIFT-F5)

Maar na een X-aantal keer refreshen :

vrijdag 22 december 1978

Joepie !! .. de goeie datum (na 50x refresh ofzo)
en daarna :

Friday 22 December 1978

Gaat hij weer verder met de oude datum :(

Is dit e.o.a. service die draait? Instelling? Iemand een clue?

  • Wilke
  • Registratie: December 2000
  • Laatst online: 09:06
Nou, ikke niet eerlijk gezegd. Maar je browsed toch niet via een proxy per ongeluk? Of dat soort rariteiten? Want dat je een keer een harde refresh moet doen (in Mozilla/Firefox Ctrl-R, in IE Ctrl-F5 geloof ik) kan kloppen, maar 50 keer en dat het dan ineens veranderd klinkt me heel vreemd in de oren :?

  • om3ega
  • Registratie: Maart 2001
  • Laatst online: 16-02 22:19
Ja mij ook , maar ik heb geen proxy o.i.d. De server draait lokaal hier dus een ISP proxy kan er ook niet tussen zitten.

Het klinkt mij net zo vreemd in de oren als jou Wilke , maar volgens mij is er iets wat die locale be-invloed.

Overigens is het een clean install. Dus er staat geen vreemde zooi op. Alleen Apache/1.3.31 met PHP Version 4.3.7.

Het feit dat ik het locale command niet ken (en op mijn redhat bak wel) vind ik ook vreemd. Weet iemand in welke package dat kan zitten? Misschien lost dat wat op?

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

om3ega schreef op 23 augustus 2004 @ 19:20:
Overigens is het een clean install. Dus er staat geen vreemde zooi op. Alleen Apache/1.3.31 met PHP Version 4.3.7.
Ik heb het hier ook even met een clean slackware 10 install geprobeerd, maar ik krijg gewoon zoals het hoort een nederlandse datum met jouw code, dus wat het probleem is :?

  • om3ega
  • Registratie: Maart 2001
  • Laatst online: 16-02 22:19
Erkens , wat krijg jij als je het command : locale intikt?
Bij mij kent hij het commando niet. Dus wellicht is het een onbrekende package die ik nog moet hebben?

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

om3ega schreef op 23 augustus 2004 @ 19:33:
Erkens , wat krijg jij als je het command : locale intikt?
Bij mij kent hij het commando niet. Dus wellicht is het een onbrekende package die ik nog moet hebben?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
root@regina:~# locale
LANG=en_US
LC_CTYPE="en_US"
LC_NUMERIC="en_US"
LC_TIME="en_US"
LC_COLLATE=C
LC_MONETARY="en_US"
LC_MESSAGES="en_US"
LC_PAPER="en_US"
LC_NAME="en_US"
LC_ADDRESS="en_US"
LC_TELEPHONE="en_US"
LC_MEASUREMENT="en_US"
LC_IDENTIFICATION="en_US"
LC_ALL=


volgens mij is dat onderdeel van glibc, kijk eens of je de internationale "versie" _ook_ hebt geinstalleerd. (glib-i18n-2.3.2-noarch-6)

  • om3ega
  • Registratie: Maart 2001
  • Laatst online: 16-02 22:19
glibc-i18n-2.3.2-noarch-6.tgz

Deze had ik reeds al geinstalleerd. via : installpkg glibc-i18n-2.3.2-noarch-6.tgz

Ik vraag me af of ik daarna nog iets moet doen? Hij herkent het locale command gewoon niet ...

code:
1
2
root@webserver:~# locale
-bash: locale: command not found


Ik denk dat ik de fout ook hier wel ergens moet zoeken.

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

om3ega schreef op 23 augustus 2004 @ 19:42:
glibc-i18n-2.3.2-noarch-6.tgz

Deze had ik reeds al geinstalleerd. via : installpkg glibc-i18n-2.3.2-noarch-6.tgz

Ik vraag me af of ik daarna nog iets moet doen? Hij herkent het locale command gewoon niet ...

code:
1
2
root@webserver:~# locale
-bash: locale: command not found


Ik denk dat ik de fout ook hier wel ergens moet zoeken.
ik heb even de packages voor je doorgezocht, en de file /usr/bin/locale zit in glibc-2.3.2-i486-6.tgz maar het lijkt me sterk dat je die niet geinstalleerd hebt :X

  • om3ega
  • Registratie: Maart 2001
  • Laatst online: 16-02 22:19
Nou , ik zal je wat vertellen .. :X .. Die had ik dus niet..

Geinstalleerd , reboot en klaar.. locale command werkt , datum netjes in het nederlands...

Kom ik in aanmerking voor een darwin award? O-)

Iedereen en vooral Erkens bedankt voor jullie support!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

om3ega schreef op 23 augustus 2004 @ 20:04:
Nou , ik zal je wat vertellen .. :X .. Die had ik dus niet..
voortaan van de recommend/required packages afblijven tijdens het installeren :+
Pagina: 1