PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Frage zu setlocale. 0 oder NULL



Stanislaus
24-11-2003, 12:44
Moin moin!

Ich hätte da gerne mal ein Problem mit der "setlocale()" Funktion.

php.net schreibt:
http://de3.php.net/manual/en/function.setlocale.php

If locale is NULL or "0", the locale setting is not affected, only the current setting is returned.
Das O'Reilly PHP-Kochbuch schreibt:

Um das derzeitige Locale herauszufinden, ohne es zu ändern, rufen Sie setlocale() mit einem NULL-Locale auf.

So weit so gut. Jetzt kasper ich schon seit 2 Tagen mit dem Kram rum und wunder mich, daß:

echo "LC_ALL = " . setlocale(LC_ALL, NULL) . "<br />";
echo "set: " . setlocale(LC_ALL, 'de_DE') . "<br />";
echo "LC_ALL = " . setlocale(LC_ALL, NULL) . "<br />";
nicht wie erhofft:

LC_ALL = C
set: de_DE
LC_ALL = de_DE;...
sondern

LC_ALL = C
set: de_DE
LC_ALL = C
zurück gibt.

Nun hab ich mal statt NULL einfach 0 übergeben und das Ergebnis war korrekt. NULL scheint, entgegen der Angaben auf php.net, auf das ursprüngliche locale zurückzusetzen wärend 0 das korrekte locale abfragt.

Nun meine Frage. Lügt php.net :D, gibt es eine php Option, die besagtes Verhalten beeinflusst oder bin ich einfach nur dämlich und hab irgendetwas übersehen?
Oder kann zumindest jemand dieses Verhalten nachvollziehen?

Der ganze Klumpatsch läuft unter: Apache/2.0.48 (Gentoo/Linux) mod_ssl/2.0.48 OpenSSL/0.9.6k PHP/4.3.3

Besten Dank!

jwebworks
25-11-2003, 06:17
Schreib das doch mal als Kommentar zu
dieser funktion auf php.net und schreib
nen Bug-Report. Dann wird auch anderen
geholfen.

Stanislaus
25-11-2003, 11:54
Hast ja recht, nur wollte ich sicher gehen, daß dieses Verhalten nicht Gentoo spezifisch ist und ausschließen, daß ich irgendetwas übersehen hab bevor ich einen Fehler melde.

Ich weiß selber wie ätzend es ist, wenn man mit "angeblichen" Fehlern überhäuft wird, von denen sich rausstellt, daß der Benutzer einfach nur Mist gemacht hat.

Bis neulich ...

Gaert
25-11-2003, 12:32
Jaja... die schlimmsten aller Bugs - die Dokumentationsbugs!