Heute hatte ich auf einem Kundenserver das Problem, dass die PHP-Funktion setlocale
nicht so funktionierte wie gedacht. Konkret gab der Aufruf
setlocale (LC_ALL, 'de_DE'); |
nur false
zurück.
Eine Locale auf einem Ubuntu-Server hinzufügen
Die Ursache war auch recht schnell gefunden. Die entsprechende Locale war auf dem Server nicht eingerichtet. Dies kann man auf einer Linux Console (zum Beispiel eine SSH Console) sehr einfach nachprüfen. Mit dem folgenden Befehl kann man sich alle aktuell eingerichteten Locales anzeigen lassen:
less /usr/share/i18n/SUPPORTED |
Bei Bedarf kann man nun die fehlende Locale einrichten:
locale-gen de_DE locale-gen de_DE.UTF8 |
Nach einem Neustart des Apache steht die Locale dann auch schon zur Verfügung.