Gunnar Bittersmann: html5 Validation -- unverständliche Fehlermeldung

Beitrag lesen

@@Der Martin

und weil das Dokument mit einer BOM beginnt, erkennt der Browser die Codierung auch korrekt als UTF-8.

„Der Browser“? Nein! IrgendEin von unbeugsamen Redmondern entwickelter Browser hört nicht auf, Widerstand zu leisten.

Jemand am Rand unterwegs und kann das mal evaluieren, ob das in Edge auch noch so ist?

Eine BOM (Byte Order Mark) ist ein Steuerzeichen, das vom Editor am Dateianfang eingefügt wird und der verarbeitenden Software (z.B. dem Browser) die verwendete Codierung mitteilt.

Sofern es sich um eine Unicode-Codierung handelt. Und das BOM teilt nicht die verwendete Codierung mit, sondern die Reihenfolge der Bytes – wie der Name byte order mark sagt. Also ob es sich bswp. bei UTF-16 um UTF-16BE oder UTF-16LE handelt.

Bei UTF-8 ist die Reihenfolge der Bytes festgelegt; ein BOM also nicht erforderlich.

EDIT: Kann es sein, dass der Validator die BOM ignoriert und deshalb von ISO-8859-1 ausgeht?

Sieht so aus. Und DER Validator tut das auch.

Und dann einige der Bytes, die UTF-8-Codes für Zeichen >0x80 bilden, für Windows-1252 hält?

Auch das.

Dann läge in diesem Fall der Fehler nicht nur beim Autor, sondern auch beim Validator.

Die Nichtbeachtung des BOM ist ein Bug. Fehlerhaftes ISO 8859-1 als Windows-1252 zu verarbeiten ist ein Feature.

LLAP 🖖

--
„Wir haben deinen numidischen Schreiber aufgegriffen, o Syndicus.“
„Hat auf dem Forum herumgelungert …“
(Wachen in Asterix 36: Der Papyrus des Cäsar)