Default Charset UTF-8 oder ISO-8859-1
Der Apache-Webserver kann so konfiguriert werden, dass Seiten standardmäßig mit einem bestimmten Charset ausgeliefert werden. Damit kann dann eine PHP-Seite, die eigentlich im UTF-8-Format gespeichert wurde, auf einmal als ISO-Seite erscheinen und dann natürlich mit fehlerhaften Umlauten, sofern diese nicht als HTML-Entities geschrieben wurden. Um das zu umgehen, kann man mit ini_set zu Beginn seiner Skripte den eigenen, gewünschten Charset angeben. Mit einem
ini_set("default_charset", "UTF-8");
wird die Seite dann auch garantiert als UTF-8-Seite ausgegeben, unabhängig von der Webserver-Konfiguration.
Besonders bei gehosteten Webpaketen bietet sich ein solches Vorgehen an, da man in diesem Fall ja meist keine Kontrolle über die Konfiguration hat.
2 Responses to “Default Charset UTF-8 oder ISO-8859-1”
Leave a Reply
You must be logged in to post a comment.
März 12th, 2010 at 23:18
Hallo,
das ist genau der Tipp, den ich gesucht habe. Funktioniert aber leider nicht. (Umlaute sind nicht als HTML-Entities geschrieben!)
Problem: Ich habe eine grössere Anwendung, die Ansi-codiert ist. Läuft bei allen Hostern einwandfrei, seit Sep. 2009 bei http://www.kontent.de nicht mehr (Server-Umstellung).
In der php.ini ist dort als default charset utf-8 eingetragen.
Wenn eine identische Seite als .htm gespeichert wird, geht alles in Ordnung. Wird sie als .PHP gespeichert (auch ohne PHP-Code) werden die Umlaute nicht richtig angezeigt. Auch ini_set hilft nicht.
Gibt es noch einen weiteren Tipp?
Vielen Dank
Horst Günther
März 22nd, 2010 at 22:53
Hallo Herr Günter,
so auf Anhieb fallen mir da auch nicht viele Alternativen ein. Wird das ini_set(„default_charset“, „iso-8859-1“); korrekt übernommen? Bzw. was gibt danach ein echo ini_get(„default_charset“) aus?
Alternativ könnte man vielleicht noch versuchen, den Charset über eine .htaccess zu setzen mit der folgenden Zeile:
php_value default_charset ISO-8859-1
Was für eine PHP-Version und Apache-Version läuft denn exakt auf dem Server?
Viele Grüße
Thomas Sommerfeld