Hallo Ingrid,
vielleicht sollte ich noch hinzufügen, dass wenn man eine in ISO-8859-1 kodierte Textdatei via AJAX "laden" will, diese grundsätzlich als UTF-8 interpretiert erhält.
Als ich meine Textdatei in xhr.responseText vorliegen hatte, habe ich diesen Inhalt in eine <textarea> geschrieben und bei den üblichen Verdächtigen (deutsche Umlaute und das ß) wirre Zeichen erhalten. Die Inhalte in ISO-8859-1 wurden von JS als UTF-8 gedeutet.
Um das zu lösen, muss man versuchen, die Zeichenkodierung mittels xhr.overrideMimeType()
"reparieren". In meinem Beispiel war das so:
var xhr = myCreateXmlHttpRequestObject();
xhr.open("GET", "./verz/file.txt", true);
// wahrscheinlich wirkungslos, [link:http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader%28%29-method@title=weil W3C das so will]
xhr.setRequestHeader("accept", "text/plain; charset=iso-8859-1");
// Zeichenkodierung nicht automatisch als UTF-8, sondern als ISO-8859-1 interpretieren
if (xhr.overrideMimeType) { // Firefox / Safari
xhr.overrideMimeType("text/plain; charset=iso-8859-1");
}
xhr.send(null);
Vielleicht erspart das jemandem Stunden der Fehlersuche...
Liebe Grüße,
Felix Riesterer.
--
ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)