Hallo,
lass die abgedruckten Quelltexte doch einfach mal auf Deinem Server laufen,
es wäre interessant das Ergebnis zu kennen
das Ergebnis wäre, dass das Beispiel korrekt läuft. Warum? Weil bei mir UTF-8 als Default eingestellt ist.
hier nun der Verweis zum Online-Beispiel:
http://www.stephanw.net/wicki/t1.html
Danke, jetzt kommen wir weiter.
Also: Dein Server gibt keine Zeichencodierung an. Beim Laden eines HTML-Dokuments wird der Browser also ersatzweise die Information im entsprechenden meta-Element nehmen. Die angegebene Codierung ist ISO-8859-1, und das passt mit der tatsächlichen Codierung zusammen. Leider enthält das Dokument keine Zeichen jenseits von ASCII, so dass die Unterscheidung hier zunächst nicht relevant ist.
Dann forderst du t1datei.html per AJAX an. Die AJAX-Schnittstelle geht grundsätzlich davon aus, dass die ankommenden Daten in UTF-8 codiert sind. Sind sie aber nicht - auch hier verwendest du ISO-8859-1, gibst das auch im meta-Element an. Nur dass die Daten hier nicht als HTML interpretiert werden, daher interessiert sich auch niemand für die meta-Angabe. Ergebnis: Der Browser versucht krampfhaft, die ISO-codierten Zeichen als UTF-8 zu interpretieren, und stellt fest, dass es sich um ungültige Codes handelt. Also stellt er das Ersatzzeichen dar (üblicherweise ein Fragezeichen).
Das Problem würde sich vermutlich ziemlich schnell in Luft auflösen, wenn du konsequent UTF-8 verwendest. Möglich, dass man sogar beim AJAX-Aufruf eine abweichende Codierung angeben kann - damit kenne ich mich aber nicht so gut aus, dass ich dir nun sagen könnte, wie's geht.
So long,
Martin
--
Die letzten Worte des Polizisten:
Ich hab mitgezählt, Leute: Sechs Schuss, jetzt hat er keine Munition mehr!
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(