Der Martin: html5 Validation -- unverständliche Fehlermeldung

Beitrag lesen

Hallo,

Also, laut meinem Hoster ist der Server auf die Zeichencodierung UTF-8 eingestellt.

vielleicht als Default, das mag ja sein. Wenn ich http://www.tassilo.sturm.serverma.de/work.php anfordere, erhalte ich aber vom Server die Auskunft:

Content-Type: text/html; charset=iso-8859-1

Wenn der Default in der Serverkonfiguration auf UTF-8 eingestellt ist, könnte es sein, dass du diesen Wert bewusst oder unbewusst überschreibst. Entweder mit einer AddDefaultCharset-Direktive in einer .htaccess, oder im PHP-Script.

Die tatsächlich verwendete Codierung ist aber UTF-8, und weil das Dokument mit einer BOM beginnt, erkennt der Browser die Codierung auch korrekt als UTF-8. Gibt er in Page Info auch so an.

Ich habe allerdings bemerkt, ich benutze ja den Notepad++ das die Kodier-Einstellungen auf UTF-8 eingestellt sind, habs gespeichert und nun gibt es neue Fehlermeldungen:

Hä?

Es gibt zwei Möglichkeiten : rein UTF-8 und UTF-8 ohne BOM.... (was DAS wieder 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. Die BOM hat Vorrang vor der oben erwähnten Info im HTTP-Header.

der Validator sagt:

Hmm. Wenn der Validator von ISO-8859-1 ausgeht und dann auch noch Windows-1252 sieht, bekommt er anscheinend was anderes als mein Browser, wenn ich das Dokument direkt aufrufe ...

EDIT: Kann es sein, dass der Validator die BOM ignoriert und deshalb von ISO-8859-1 ausgeht? Und dann einige der Bytes, die UTF-8-Codes für Zeichen >0x80 bilden, für Windows-1252 hält? Dann läge in diesem Fall der Fehler nicht nur beim Autor, sondern auch beim Validator.

So long,
 Martin