• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

XmlHttpRequest responseText mit Umlauten in IE

SamuelTee

New member
Hallo allerseits,

Danke schonmal im Voraus für eure konstruktiven Antworten ... und ums gleich vorweg zu nehmen: Google hab ich schon gefragt und die Forensuche auch ;)

Ich hab folgendes Problem:
Über den XmlHttpRequest

Code:
vsws_xmlHttp.open('GET','xml_file.xml', false);
vsws_xmlHttp.setRequestHeader("Content-Type", "application/xhtml+xml;charset=ISO-8859-1");
vsws_xmlHttp.send(null);
var response;
if (vsws_xmlHttp.readyState == 4) {
    response = vsws_xmlHttp.responseText;
} else {
    response = "NULL";	
}

bekomme ich eine Antwort, die folgender Maßen ausschaut:

Code:
<?xml version="1.0" encoding="iso-8859-1"?>
<node>
    <body>
        Töst!
    </body>
</node>

Schau ich mir mit der Seiteninformation des FF die Kodierung an, so steht hier auch tatsächlich ISO-8859-1.

Diese Anwort (response) möchte ich nun per innerHTML in ein HTML span Element einfügen (die Seite selbst ist mit dem meta tag <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> "ausgestattet").

Beim FireFox wird "Töst!" angezeigt, während beim IE nur "T□!" steht. Ich hab sicher irgendwo vergessen, die Kodierung richtig zu setzen... ich hab nur keinen Plan, wo ich das noch machen muss.

Danke nochmal für eure Hilfe.
Gruß,
Samuel
 
Kannst du eventuell einen Link posten, damit wir auch sehen können, was tatsächlich im Browser ankommt.

Und gegebenfalls den kompletten Code, der einzelnen Datein, um diese "nachzubauen".

Bis jetzt ist mir lediglich

vsws_xmlHttp.setRequestHeader("Content-Type", "application/xhtml+xml;charset=ISO-8859-1");

das aufgefallen. In der anderen Datei ist der Typ nur xml.
 
ISO 8859-1 ist absoluter Dreck. Gibt es irgendwas das gegen UTF-8 spricht? Wenn du mir nicht glaubst, dass es absoluter Mist ist, dann versuch mal ein €-Symbol mit ISO 8859-1 zu codieren... Falls du das schaffen solltest, sag es mit, ich melde dich dann für die nächste Uri Geller show an ;) .
 
ISO 8859-1 ist absoluter Dreck. Gibt es irgendwas das gegen UTF-8 spricht? Wenn du mir nicht glaubst, dass es absoluter Mist ist, dann versuch mal ein €-Symbol mit ISO 8859-1 zu codieren... Falls du das schaffen solltest, sag es mit, ich melde dich dann für die nächste Uri Geller show an ;) .
Dann muss ich mein recode mal anmelden, das ist bei meinem Ubuntu dabei, und hat keine Probleme € aus UTF-8 nach latin1 bzw. ISO 8859-1 zu konvertieren / zu rekodieren.
Hier die Ausgabe:
$ cat test.utf

$ recode utf-8..latin test.utf
$ cat test.utf
EUR
 
Zuletzt bearbeitet:
Ok, hab das ganze selber nochmal getestet:

EUR ist halt kein €, sonder einfach die Zeichenkette aus E, U und R. Wenn du das ganze wieder versuchst zurück nach utf-8 zu konvertieren bleibt es EUR. Wäre ja zu schön gewesen um wahr zu sein....
 
Ok, hab das ganze selber nochmal getestet:

EUR ist halt kein €, sonder einfach die Zeichenkette aus E, U und R. Wenn du das ganze wieder versuchst zurück nach utf-8 zu konvertieren bleibt es EUR. Wäre ja zu schön gewesen um wahr zu sein....
Von Rückkonvertierung war nirgends die Rede und für ne Volksverarsche wie The-Next-Löffel-Krumm-Quatscher reicht das bestimmt allemal.
 
Hallo,

danke erstmal für eure Antworten (auch wenn sie nicht direkt zum Thema passen).

UTF-8 bewirkt, dass Umlaute weder im FF noch im IE richtig angezeigt werden.

Gruß,
SamuelTee
 
Hallo,

danke erstmal für eure Antworten (auch wenn sie nicht direkt zum Thema passen).

UTF-8 bewirkt, dass Umlaute weder im FF noch im IE richtig angezeigt werden.

Gruß,
SamuelTee

Nur wenn du nicht konsequent durch die ganze Seite (von der DB, über PHP, zum HTML) UTF-8 benutzt. Deshalb sollte man immer und (soweit wie möglich) ausschliesslich UTF-8 benutzen. Das schliesst den Source-Code mit ein den man möglichst in einem UTF-8 fähigen Editor bearbeitet, da man sonst genau solche Probleme kriegt.
 
Zurück
Oben