Matthias Apsel: Zeichencodierung HTML5: 512 oder 1024 Byte

Om nah hoo pez nyeetz, alle!

"Wenn Sie für HTML5-Dokumente die Zeichencodierung durch <meta charset="utf-8"> festlegen, müssen Sie darauf achten, dass sich diese Angabe vollständig innerhalb der ersten 512 Bytes des Dokuments befindet."

vs.

"Verwenden Sie das meta-charset-Attribut in einem meta-Element zu Beginn des head-Elements. Stellen Sie sicher, dass die gesamte Angabe innerhalb der ersten 1024 Bytes des Seitenquelltexts Platz findet."

Ich machs mal ohne Quellenangaben (w3-schools ist nicht dabei ;-)). Welche Angabe ist korrekt?

Matthias

--
Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Hort und Hortensie.

  1. Meine Herren,

    Welche Angabe ist korrekt?

    Laut whatwg 1024:

    "The authoring conformance requirements for character encoding declarations limit them to only appearing in the first 1024 bytes. User agents are therefore encouraged to use the prescan algorithm below (as invoked by these steps) on the first 1024 bytes, but not to stall beyond that."

    1. Welche Angabe ist korrekt?

      Laut whatwg 1024:

      Und hier stets auch nochmal.

      --
      Hey Girl,
      i wish you were asynchronous, so you'd give me a callback.
      1. Meine Herren,

        Laut whatwg 1024:

        Und hier stets auch nochmal.

        Da hat mich die Zwischenablage getrollt, der richtige Link lautet:
        http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#charset1024

        Der Vollständigkeit halber dann noch der Link zur w3c-spec: http://www.w3.org/TR/html51/document-metadata.html#charset1024

        --
        Hey Girl,
        i wish you were asynchronous, so you'd give me a callback.
  2. Hi,

    Welche Angabe ist korrekt?

    http://www.w3.org/TR/html5/document-metadata.html#character-encoding-declaration sagt,

    “The element containing the character encoding declaration must be serialized completely within the first 1024 bytes of the document.”

    Und dieses Dokument ist “W3C Candidate Recommendation 6 August 2013” – ich sehe also keinen Grund, warum man sich derzeit an irgendeine abweichende Angabe halten sollte.

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    1. Om nah hoo pez nyeetz, ChrisB!

      ich sehe also keinen Grund, warum man sich derzeit an irgendeine abweichende Angabe halten sollte.

      Ich habe es jetzt im Wiki geändert. Vielleicht hat sich das im Laufe der Jahre geändert, derjenige, der das ins Wiki geschrieben hat, gilt als kompetent, deshalb meine Nachfrage.

      Matthias

      --
      Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Liter und Literaturpreis.

  3. Tach!

    512 vs. 1024 Welche Angabe ist korrekt?

    Beide. Jedenfalls die eine damals, die andere mittlerweile. Man hat das wohl geändert. Du findest jedenfalls noch viele Dokumente mit der 512er Angabe.

    http://www.w3.org/TR/2013/NOTE-html-markup-20130528/syntax.html#character-encoding - Stand 28.05.2013 ("This document has been discontinued and is only made available for historical purposes.")

    dedlfix.

  4. Hallo,

    "Verwenden Sie das meta-charset-Attribut in einem meta-Element zu Beginn des head-Elements. Stellen Sie sicher, dass die gesamte Angabe innerhalb der ersten 1024 Bytes des Seitenquelltexts Platz findet."

    Das ist zwar technisch korrekt, aber praktisch reicht m.E. der Hinweis, dass <meta charset> direkt im head auftauchen sollte:

    <!DOCTYPE html>  
    <html lang="de">  
    <head>  
    <meta charset="utf-8">
    

    Wenn man das einhält, so ist es sehr schwierig, vor dem <meta charset> mehr als 1024 Bytes unterzubringen. Dazu müsste man schon dicke Kommentare oder sonstigen Müll einfügen (XML-Processing-Instructions, CDATA, wasweißich).

    Übrigens ist http://wiki.selfhtml.org/wiki/HTML/Kopfdaten/meta#Darstellung_und_Verhalten seit HTML5 obsolet. Der ganze Abschnitt könnte eigentlich gelöscht werden.

    »Ein Browser darf strenggenommen nicht JavaScript annehmen, wenn keine Angabe gemacht wurde.«

    Seit HTML5 sind CSS und JavaScript Standard für style/link und script.

    Mathias