Dienstag, 23. November 2010

Server auf utf-8 umstellen

Um Webseiten als utf-8 auszuliefern, gibt es mehrere Möglichkeiten. Man kann es einmal gezielt für jede Domain machen, indem man unter /etc/apache2/sites-enabled/ den folgenden Eintrag setzt:

AddDefaultCharset utf-8
ServerName ...
...


Oder man macht es global für alle Domains, indem man in der /etc/apache2/conf.d/charset den Eintrag
#AddDefaultCharset utf-8
auskommentiert.

Server neustarten nicht vergessen:
/etc/init.d/apache2 restart

Manchmal kommt es vor, dass php echo die Sonderzeichen immer noch falsch anzeigt. Man muss seine php-skripte einfach in utf-8 umwandeln. Dies geht mit dem notepad unter Speichern unter -> Codierung, beim notepad++ unter Kodierung -> Konvertiere zu utf-8.

Beim Dreamweaver muss man auch auf Speichern unter gehen, allerdings darf dort nicht das Häkchen bei Include Unicode Signature (BOM) (falls vorhanden) aktiviert werden da Dreamweaver sonst einen Byte Order Mark setzt, was den php-server durcheinanderbringen kann. Stattdessen alles markieren, neue Datei erstellen, einfügen und dann nochmal speichern. Dann sollte es funktionieren. Wenn man nun nochmal auf Speichern unter geht und die Möglichkeit angeboten wird, ein Häkchen zu setzen, hat´s geklappt.

Falls man dies im lokalen XAMPP auch einstellen will, muss man die Zeile in der folgenden Datei einfügen:
C:\xampp\apache\conf\httpd.conf
Auch hier, Apache im XAMPP Control Panel stoppen und wieder starten.

Noch detaillierter:
http://www.xaranetblog.de/2008/08/02/apache-php-und-mysql-auf-utf-8-umstellen/