HTML5-Zeichencodierungsangabe
bearbeitet von
Hallo Gunnar,
> > [was die mit HTML5 anfangen können](https://blog.julius-cordes.de/2015/03/neue-semantische-elemente-von-html5-in-alten-browsern/)...
>
>
> ~~~html
> <meta charset="utf-8">
> <meta http-equiv="content-type" content="text/html; charset=utf-8">
> ~~~
> {: style="margin-left: 1.3em"}
>
> _„die Angabe der Codierung ist zwar doppelt vorhanden, ältere Browser verstehen nur die http-equiv-Variante“_{: style="margin-left: 1.3em"}
>
> Auch wenn der [Algorithmus](https://www.w3.org/TR/html5/infrastructure.html#extracting-character-encodings-from-meta-elements) nur die erste Angabe ausliest: wie ich das lese, [verbietet](https://www.w3.org/TR/html5/document-metadata.html#charset) die Spec eine weitere: _„there can only be one `meta`-based character encoding declaration per document.“_{: lang="en"}
Mh, der Validator meckert aber komischerweise nicht... Oder kennt er diese Regel schlicht und einfach nicht?
> HTML5 wurde bewusst abwärtskompatibel entwickelt.¹ AFAIR schrieb `<meta charset="…">`{: .language-html} das fest, was sowieso alle Browser zum damaligen Zeitpunkt verstanden (weil sie nach `charset` scannten, nicht nach `http-equiv="content-type"`). Das bedeutet, dass deine Aussage _„ältere Browser verstehen nur die http-equiv-Variante“_ so nicht stimmt.
Dann muss ich das noch einmal mit meinen steinalten Testkandidaten ausprobieren:
- IE6 / WinXP
- Classilla / Mac OS 9.2.2
- IE5.5 (wegen der Tasman-Engine!) / Mac OS 9.2.2
> ¹: mit allen Nachteilen, die das mit sich bringt
Wenn nicht, würden die meisten Websites wahrscheinlich in der Mehrheit immer noch auf HTML4 rumkriechen...
Vielen Dank für deinen Hinweis!
Gruß
Julius