Loresoft Software-Development
   
Hauptmenü
Artikel
Artikelsuche
 
Titel: Ajax Zeichenkodierung ISO 8859-1
Beschreibung: ISO 8859-1 Zeichensatz, anstatt UTF-8 Kodierung für Übertragung verwenden
Kategorie: Programmierung
Unterkategorie Ajax (Asynchron JavaScript and XML)
Benötigtes Fachwissen: Anfänger
 
Artikel überarbeiten: Ajax Zeichenkodierung ISO 8859-1
 
Hat Ihnen die Seite weitergeholfen? 2.5 (gut)
sehr gut sehr schlecht



AJAX und ISO 8859-1
Vor einiger Zeit wurde ich damit beauftragt eine Internetseite zu erstellen, welche Seitenteile "dynamisch" per AJAX nachlädt. Die Internetseite selber sollte in ISO 8859-1 Kodiert werden.

Als ich mit dem Prototypen soweit war, musste ich jedoch feststellen, dass ich Probleme mit den Umlauten bekam, den AJAX verwendet standardmäßig UTF-8.

Nach langem Suchen, bin ich immer wieder auf das Selbe Problem gestoßen:
* Viele haben Probleme damit,
* aber keine vernünftige interoperable Lösung auffindbar,
http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=ISO-8859-1');

http_request.setRequestHeader("encoding", "ISO-8859-1");

http_request.setRequestHeader("send-method", "application/x-www-form-urlencoded; charset=ISO-8859-1');


http_request.overrideMimeType('text/xml; charset=iso-8859-1')

Die Header in AJAX zu ändern, hat nicht wirklich - oder nur mit mäßigem Erfolg (für wenige Browser einsetzbar) funktioniert. Was somit keine akzeptable Lösung war. Also habe ich versuch die Header in der angeforderten Datei zu ändern...



Lösung (PHP)
Um aus dem AJAX UTF-8 dilemma zu gelangen, sollte nicht versucht werden die Header in AJAX, - sonder die Header in der Datei zu ändern, welche von AJAX nachgeladen wird.
header("Content-Type: text/html; charset=ISO-8859-1");
header("Content-Transfer-Encoding: 8bit");
Ändert man für die anzufordernde Datei die Header mit obigen zwei Zeilen, so wird die Übertragung in ISO 8859-1 und nicht in UTF-8 vorgenommen und unsere Probleme mit UTF-8 sind beseitigt!
aktuelle Seitenaufbauzeit: 164.2 ms.