bernd,
//Datei wird nicht utf-8 kodiert abgespeichert (ASCII).
<?xml version="1.0" encoding="iso-8859-1" ?>
Na dann schaun wir mal rein. In diese Zeile:
Schöne Grüße.
U+0053 U+0063 U+0068 U+00F6 U+006E U+0065 U+0020 U+0047 U+0072 U+00FC U+00DF U+0065 U+002E
Als ISO 8859-1 codiert: 53 63 68 F6 6E 65 20 47 72 FC DF 65 2E
Als UFT-8 decodiert: U+0053 U+0063 U+0068 ... Bis hierhin alles OK.
Aber dann kommt F6 6E 65 20, binär 11110110 01101110 01100101 00100000. Die Bitfolge 11110xxx sagt, dass es sich um ein Zeichen aus dem Bereich U+10000 bis U+1FFFFF handelt, wobei die nächsten drei Bytes mit dazugehören und die Form 10xxxxxx 10xxxxxx 10xxxxxx haben müssen. [RFC 2279]
Die Bytefolge F6 6E 65 20 ist in UTF-8 nicht gültig.
„Es ist ein kritischer Fehler, wenn für ein XML-Entity (durch Vorgabewert, Kodierungsdeklaration oder Protokoll) eine bestimmte Kodierung angegeben wird, das Entity jedoch Oktett-Folgen enthält, die in dieser Kodierung nicht zulässig sind.“ [XML §4.3.3]
„Kritischer Fehler (fatal error)
[Definition: Ein Fehler, den ein konformer XML-Prozessor erkennen und an das Anwendungsprogramm melden muss. Nach der Erkennung eines kritischen Fehlers darf der Prozessor die Verarbeitung fortsetzen, um nach weiteren Fehlern zu suchen und diese dem Anwendungsprogramm zu melden. Um die Fehlerkorrektur zu unterstützen, darf der Prozessor nichtverarbeitete Daten des Dokuments (mit vermischtem Text und Markup) dem Anwendungsprogramm zur Verfügung stellen. Wenn ein kritischer Fehler aufgetreten ist, darf ein Prozessor die normale Verarbeitung nicht fortsetzen. Dies heißt insbesondere, dass er keine weiteren Daten oder Informationen über die logische Struktur des Dokuments an das Anwendungsprogramm weiterleiten darf, wie es normalerweise geschieht.]“ [XML §1.2]
Das Verhalten
IE: mekert
ist denmach also korrekt.
Das Verhalten
Moz: zeigt die Umlaute als ? an.
ist falsch.
//Datei wird nicht iso-8859-1 kodiert abgespeichert (Unicode).
Was heißt „Unicode“? Das ist keine Codierung.
Gunnar
„Solang wir noch tanzen können
und richtig echte Tränen flennen,
ist noch alles offen,
ist noch alles drin.“
(Gundermann)