Probleme mit der Kodierung nach Update auf PHP 5.6

Wenn der Webhoster auf eine neue PHP-Version umstellt läuft meist alles ohne Probleme. Leider gibt es ab und zu mal Probleme. So hat unser Hoster auf PHP 5.6 geupdatet. Dies hat auch ohne Probleme funktioniert, allerdings wurden bei einigen älteren Scripten die Umlaute nicht mehr richtig dargestellt:

utf8_1

Die älteren Scripte verwenden ISO-8859-1 als Kodierung. UTF-8 ist nun der Standard und die Ausgaben von PHP werden auch so ausgeliefert. PHP verwendet in neueren Versionen die Einstellung default_charset = "UTF-8".

Eine Lösung ist, die alten Scripte und PHP-Seiten auf UTF-8 umzustellen, meist will man die alten Sachen aber nicht mehr anpacken oder es einfach nur wieder schnell zum Laufen bekommen.

Daher kann man alternativ die Einstellung auch verändern. Wer Zugriff auf die “php.ini”-Datei hat. Kann die Einstellung “default_charset” wie folgt abändern:

default_charset = “”

Dies gilt natürlich für alle Scripte. Wer nur das Verhalten eines Scriptes abändern möchte, kann dies auch direkt im PHP-Code abändern. Man fügt einfach folgenden Befehl am Anfang der PHP-Datei ein:

ini_set(default_charset, “”);

utf8_3

Idealerweise fügt man dies in einer zentralen Datei ein, welche in allen anderen PHP-Dateien inkludiert wird.

Anschließend läuft es wieder ohne Probleme:

utf8_2

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert