diwaffm
Goto Top

Setlocale unter Windows - Warum Monatsname in englisch?

Hi Leute,

auf einem IIS mit PHP5 erhalte ich mit

$loc_de = setlocale(LC_ALL, 'deu_deu');  
$nMonat=date("m");  
$cMonat=date("F");  
echo "$nMonat - $cMonat <br>";  
echo "strftime nach setlocale ist " . strftime("%c") . "<br><br>";  
echo "Die momentane Ländereinstellung ist " . $loc_de;  

die folgende Ausgabe:

03 - March
strftime nach setlocale ist 16.03.2010 17:27:48

Die momentane Ländereinstellung ist German_Germany.1252


Die Einstellung von Deutsch hat anscheinend funktioniert - warum wird der Monat aber in englisch ausgegeben?
Bei Wochentagen tritt das Problem auch auf.

ciao

dirk

Content-Key: 138397

Url: https://administrator.de/contentid/138397

Printed on: April 19, 2024 at 07:04 o'clock

Member: Dani
Dani Mar 16, 2010 at 19:45:17 (UTC)
Goto Top
Moin,
in welcher Sprache ist denn Server installiert und welches OS läuft drauf und was hast du eigentlich vor bzw. welchen Sinn macht es das Datum von der Sprache des Servers abhängig zu machen in deinem Fall?


Grüße,
Dani
Member: dog
dog Mar 16, 2010 at 19:49:05 (UTC)
Goto Top
http://www.php.net/manual/en/function.strftime.php
Month and weekday names and other language-dependent strings respect the current locale set with setlocale().
Member: diwaffm
diwaffm Mar 16, 2010 at 21:25:03 (UTC)
Goto Top
Zitat von @dog:
http://www.php.net/manual/en/function.strftime.php
> Month and weekday names and other language-dependent strings respect the current locale set with setlocale().

Ja, das kannte ich bisher auch so...

Deswegen wundert es mich ja auch, dass zwar Deutsch als Ländereinstellung ausgegeben wird, die Monats- und Wochentagsnamen aber nach wie vor Englisch sind.

Wahrscheinlich muss man dem IIS das noch anders mitteilen...

ciao

dirk
Member: dog
dog Mar 16, 2010 at 21:29:10 (UTC)
Goto Top
Weil du date() benutzt und nicht strftime() und es dort explizit erwähnt ist...
Member: diwaffm
diwaffm Mar 17, 2010 at 14:47:42 (UTC)
Goto Top
Aua...
Ich habe einfach den Code für den Apache-Server auf den IIS kopiert.
Dort funktioniert das auch bei date()

Danke

Dirk