PHP: Deutsche Datumsbegriffe verwenden
In manchen Installationen bringt PHP bei Funktionen, die Wochentage oder Monatsnamen ausgeben, nur englische Begriffe. Das liegt an einem falsch gesetzten Gebietsschema, auch als "locale" bezeichnet.
Um in einem PHP-Programm diese Einstellung auf deutsche Vorgaben zu setzen, verwenden Sie die Funktion setlocale(). Die nimmt als ersten Parameter eine Konstante, die den Wirkungsbereich angibt. Damit könnte man etwa spezifisch die für Währung zuständigen Einstellungen ändern. Im Regelfall ist es aber sinnvoller, alles umzustellen, wofür die Konstante LC_ALL steht.
Bei einem aktuellen Linux können Sie deutsche Vorgaben beispielsweise mit folgender PHP-Anweisung einstellen:
setlocale(LC_ALL, 'de_DE@euro');
Die Funktion nimmt auch weitere Länderkennungen als zusätzliche Parameter an. Die werden dann von links nach rechts ausprobiert, bis eine passende Einstellung gefunden ist. Das ist praktisch, weil es vor allem ältere Linux-Varianten gibt, die mit anderen Länderkennungen für "deutsch" arbeiten. Folgende Zeile versucht vier Varianten und zeigt die verwendete Einstellung an:
echo setlocale (LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
Klappt die Umstellung nicht und Ihr PHP spricht immer noch englisch, dann kann es sein, dass dem verwendeten Linux-Server die zusätzlichen Pakete für andere Länder schlichtweg fehlen. Suchen Sie dann in der Paketverwaltung nach dem Stichwort "locale" und versuchen Sie, die fehlenden Pakete nachzuinstallieren.
Bedingungen für die Kommentareingabe
Hinweis
Add to Del.icio.us