AJAX, Umlaute, UTF-8 und ISO 8859-1

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.

Falsche Darstellung von Umlauten bei AJAX mit UTF-8 und ISO-8859-1 - Codierung
Richtige Darstellung von Umlauten bei AJAX mit UTF-8 und ISO-8859-1 - Codierung

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.

Ein Gedanke zu „AJAX, Umlaute, UTF-8 und ISO 8859-1

  1. Sascha

    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 🙂

Schreibe einen Kommentar