Beim Aufruf von ISO 8859-1 -codierten Php-Skripts durch AJAX werden Umlaute nicht richtig dargestellt. AJAX arbeitet standardmäßig mit UTF-8. Oft ist es aber nicht gewünscht alles auf UTF-8 umzustellen.
Ein alternativer Lösungsansatz zur Darstellung von Umlauten und Sonderzeichen ist die Änderung des Headers der durch AJAX aufgerufenen Php-Datei.
Dazu fügt man folgende Zeilen nach dem öffnendem „<?php“ – Tag ein:
header("Content-Type: text/html; charset=ISO-8859-1"); header("Content-Transfer-Encoding: 8bit");
Beispiel:
<?php header("Content-Type: text/html; charset=ISO-8859-1"); header("Content-Transfer-Encoding: 8bit"); /*Inhalt der Php-Seite*/ ?>
So werden die Daten in ISO 8859-1 vom Webserver an AJAX übertragen und Umlaute werden richtig dargestellt.
Na toll, seit fast einer Woche kommuniziere ich mit „Ajax-Profis“ und dann findet man zufällig diesen kleinen Post. RESPEKT !!! für die freffende kurze Erklärung mit einer Lösung, die das Problem auf den Punkt bringt. In anderen Foren wird in unzähligen Posts über dieses Thema diskutiert und kein Ergebnis in Sicht. Vielen Dank noch mal 🙂