dedlfix: Umlaute nach Serverumzug mit höherer PHP-Version verschwunden

Beitrag lesen

problematische Seite

Tach!

<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">

  1. Der Server muss den Inhalt als in dieser Kodierung vorhandenen Content ausgeben ("überschreibt" das, was in Deiner <meta>-Angabe als ISO-8859-1 steht).

Etwas Erläuterung: Obige Zeile ist nur ein Ersatz, wenn der Server keine äquivalente Zeile als HTTP-Header mitschickt. Sendet er nur den Content-Type aber ohne Charset, dann nimmt der Browser nur die Charset-Angabe, um den Inhalt entsprechend zu dekodieren. Vermutlich wird der Server nun eine vollständige Zeile mitschicken, aber mit UTF-8. Deshalb zieht die obige Zeile gar nicht mehr. Das kann man nachschauen mit den Entwicklertools der Browser, konkret im Network-Tab. Da sieht man alle Requests und beim Click auf einen auch die Details, wie Request- und Response-Header.

Die einfachste Lösung wäre, das PHP so zu konfigurieren, dass es keine oder ISO-8859-1 als Kodierung/charset sendet. Die php.ini-Direktive default_charset ist seit PHP-Version 5.6 mit dem Wert UTF-8 vorbelegt, war früher leer. Die moderne Lösung wäre hingegen das bereits erwähnte Umkodieren.

dedlfix.