[PHP] setlocale wil geen LC_NUMERIC aanpassen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Ritch
  • Registratie: December 1999
  • Laatst online: 19-09 15:46
Ik wil setlocale gebruiken om getallen weer te gevens volgens de locale instellingen van de gebruiker. Voor datum (LC_TIME) werkt het leuk, dus denk dat trucje haal ik ook uit met getallen (LC_NUMERIC). Klein test scriptje:
PHP:
1
2
if ( setlocale( LC_ALL, 'nl_NL' ) === false ) die( 'setlocale failed!' );
print( str_replace( ';', ';<br>', setlocale( LC_ALL, 0 ) ) );

Als het goed is staat alles nu op nl_NL (locale is aanwezig op de server). Ouput:
code:
1
2
3
4
5
6
7
8
9
10
11
12
LC_CTYPE=nl_NL;
LC_NUMERIC=C;
LC_TIME=nl_NL;
LC_COLLATE=nl_NL;
LC_MONETARY=nl_NL;
LC_MESSAGES=nl_NL;
LC_PAPER=nl_NL;
LC_NAME=nl_NL;
LC_ADDRESS=nl_NL;
LC_TELEPHONE=nl_NL;
LC_MEASUREMENT=nl_NL;
LC_IDENTIFICATION=nl_NL

Oftewel, alles is mooi nl_NL, behalve LC_NUMERIC :(. ook setlocale( LC_NUMERIC , 'nl_NL' ) heeft geen effect, hij blijft op C staan (C is default locale op m'n server), rare is dat die dan geen false terug geeft ofzo, dus PHP denkt dat het goed gaat.
Iemand enig idee waarom ik die LC_NUMERIC instelling niet kan wijzigen??
Draai trouwens PHP 4.3.4 op Debian testing, bij m'n hoster met PHP 4.3.8 is het resultaat exact hetzelfde.