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:
Als het goed is staat alles nu op nl_NL (locale is aanwezig op de server). Ouput:
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.
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
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.