Thomas Mell: Validator wählt das falsche Encoding

Beitrag lesen

Hallo,

... wozu ist denn das "encoding"-Attribut des <?xml?>-Tags da, wenn nicht um das Encoding einzustellen?
Irgendetwas ist da unlogisch.

Da ist nix unlogisch wenn man die Spezifikationen kennt und der W3c-Validator richtig funktionieren würde.
Es ist folgendermaßen:
Wenn ein Charset im content-type-Header vorhanden ist, wird dieser benutzt - egal was in der XML-Deklaration im Dokument steht (einer der Schwachsinnigsten "Vorschriften" des W3c).
Sollte dies Angabe fehlen wird der Charset aus der XML-Deklartion benutzt. Sollte auch dieser fehlen, wird entweder UTF-8 oder UTF-16 benutzt - dies wird vom Parser automatisch erkannt (oder sollte...).
Den Header kannst du mit einen funktionierenden Validator anzeigen lassen (http://www.validome.org. Wie du dort sehen kannst wird im Header kein Charset geschickt und die Angabe aus der XML-Deklaration benutzt (UTF-8). Und das Beste; dein Dokument ist valide.
Unter http://www.validome.org/lang/ge/html/comparison/ kannst Du noch mehr Fehler des W3c-Validator begutachten.

Grüße
Thomas