preload
Jan 21

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”

  1. Horst Günther Says:

    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

  2. admin Says:

    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

Leave a Reply

You must be logged in to post a comment.