Christian Kruse: Kontaktformular & UTF8/Unicode

Beitrag lesen

problematische Seite

Hallo pl,

Deswegen noch einmal: Die Angabe der Zeichenkodierung im Content-Type-Header ist lt. HTTP zwar nicht zwingend vorgegeben aber notwendig, damit der Browser die Zeichen richtig darstellt.

Das ist falsch. Notwendig ist eine Angabe der Kodierung, nicht aber zwangsläufig die im HTTP-Header. Und vorgeschrieben ist gar keine. Der Standard sagt zu dem Thema:

  1. User override.
  2. An HTTP "charset" parameter in a "Content-Type" field.
  3. A Byte Order Mark before any other data in the HTML document itself.
  4. A META declaration with a "charset" attribute.
  5. A META declaration with an "http-equiv" attribute set to "Content-Type" and a value set for "charset".
  6. Unspecified heuristic analysis.

und weiter:

Normalize the given character encoding string according to the Charset Alias Matching rules defined in Unicode Technical Standard #22. Override some problematic encodings, i.e. intentionally treat some encodings as if they were different encodings. The most common override is treating US-ASCII and ISO-8859-1 as Windows-1252, but there are several other encoding overrides listed in this table. As the specification notes, "The requirement to treat certain encodings as other encodings according to the table above is a willful violation of the W3C Character Model specification."

und weiter:

You should always specify a character encoding on every HTML document, or bad things will happen. You can do it the hard way (HTTP Content-Type header), the easy way (<meta http-equiv> declaration), or the new way (<meta charset> attribute), but please do it. The web thanks you.

Von „es muss und sollte in jedem Fall im Header angegeben werden” steht da nichts. Im Gegenteil, es ist sogar „nur” eine dringende Empfehlung (should), keine Vorschrift (must), überhaupt eine Kodierung anzugeben.

Von daher ist es zweckmäßig, einen Default zu setzen.

Für einen Hoster etwa ist es sinnvoll, die Angabe wegzulassen. Er kann nicht wissen, welche Kodierung der Kunde benutzen wird, und da eine Angabe im HTTP-Header die Angabe aus dem Dokument überschreibt würde man den Kunden daran hindern, die gewünschte Kodierung zu nutzen. Es macht viel mehr Sinn, in diesem Szenario darauf zu setzen, dass der Kunde die Kodierung im Dokument angibt. Und mehr ist nicht nötig, um sicherzustellen, dass das Dokument richtig dargestellt wird!

Für ein großes Legacy-Projekt etwa ist es sinnvoll, die Angabe wegzulassen. Die Dokumente liegen hier in verschiedenen Kodierungen vor. Eine Angabe im HTTP-Header würde dazu führen, dass Legacy-Dokumente in der alten Kodierung nicht richtig angezeigt werden könnten, denn die überschreibt die Angabe im Dokument.

Du siehst, worauf das hinaus läuft?

LG,
CK

0 105

Kontaktformular & UTF8/Unicode

Die IP da halt
  • javascript
  1. 0
    Julius
    • e-mail
    • html
    • zeichencodierung
    1. 0
      Gunnar Bittersmann
      • html
      • zeichencodierung
      1. 0
        Julius
        1. 1
          Gunnar Bittersmann
    2. 0
      Die IP da halt
      1. 1
        dedlfix
      2. 0
        Julius
        1. 0
          Die IP da halt
          1. 0
            Julius
            • e-mail
            • recht
            • zu diesem forum
            1. 0
              Die IP da halt
              1. 0
                Matthias Apsel
      3. 2
        encoder
        1. 0
          Matthias Apsel
          • e-mail
          • recht
          1. 0
            Julius
            • e-mail
            1. 0
              encoder
              1. 0
                Matthias Apsel
      4. 0
        Julius
        • editor
        • html
        • zeichencodierung
        1. 0
          Matthias Apsel
          1. 0
            Julius
            • editor
            • zeichencodierung
        2. 0
          Die IP da halt
          1. 0
            Die IP da halt
          2. 0
            Die IP da halt
            1. 0
              Julius
          3. 0
            Julius
            1. 0
              Die IP da halt
              1. 1
                dedlfix
            2. 0
              Die IP da halt
              1. 0
                Julius
                • ftp
                • html
                • windows
                1. 0
                  Die IP da halt
                  1. 0
                    Matthias Apsel
                    • html
                    1. 0
                      Die IP da halt
                      • html
                      • links
                      1. 0
                        Julius
                        1. 0
                          Matthias Apsel
                          • sonstiges
                          1. 0
                            Julius
                        2. 0
                          Die IP da halt
                          1. 0
                            Matthias Apsel
                            1. 0
                              dedlfix
                            2. 0
                              Julius
                            3. 0
                              Die IP da halt
                              • html
                              • links
                              • meinung
                          2. 1
                            dedlfix
                          3. 0
                            Gunnar Bittersmann
                            • html
                          4. 0
                            Julius
                            • html
                            • links
                            • zu diesem forum
                            1. 0
                              Die IP da halt
                              1. 1
                                Gunnar Bittersmann
                                • ux
                                • web
                                • webdesign
                                1. 0
                                  Die IP da halt
                                  1. 0
                                    Gunnar Bittersmann
                                    1. 0
                                      Die IP da halt
                            2. 0
                              MudGuard
                      2. 0
                        Gunnar Bittersmann
                  2. 0
                    Julius
                    • ftp
                    • windows
                    1. 0
                      Die IP da halt
                      1. 0
                        Die IP da halt
                      2. 0
                        Julius
                        1. 0
                          Die IP da halt
                          1. 1
                            Gunnar Bittersmann
    3. 0
      Die IP da halt
      1. 0
        Julius
        • html
        • zeichencodierung
        1. 0
          Die IP da halt
          1. 0
            Tabellenkalk
  2. -1
    pl
    1. 3
      Regina Schlauklug
      1. 0
        pl
        1. 0
          Julius
          1. 0
            pl
            1. 0
              Julius
      2. 0
        pl
        1. 1
          Julius
        2. 0
          Gunnar Bittersmann
          1. 0
            pl
            1. 0
              Gunnar Bittersmann
              1. 0
                dedlfix
        3. 0
          Regina Schlauklug
          1. 0
            Gunnar Bittersmann
          2. 0
            pl
            1. 1
              dedlfix
              1. 0
                pl
                1. 0
                  Regina Schlauklug
                  1. -1
                    pl
              2. -1
                pl
                1. 0
                  dedlfix
  3. 0
    Julius
    • html
    • recht
  4. 0
    pl
    1. 0
      dedlfix
      1. 0
        pl
        1. 0
          dedlfix
          1. 0
            pl
            1. 0
              dedlfix
            2. 0
              Gunnar Bittersmann
              • sprache
              1. 0
                pl
                1. 0
                  Gunnar Bittersmann
                  • zeichencodierung
                2. 1
                  Christian Kruse
                  • zeichencodierung
                  1. 0
                    Gunnar Bittersmann
                    1. 0
                      Christian Kruse
        2. 1
          Gunnar Bittersmann
          • zeichencodierung
          1. -1
            pl
            1. -1

              Das *g* zur Wochenmitte

              Gunnar Bittersmann
              • menschelei
              1. 3

                Kein *g* zur Wochenmitte

                dedlfix
            2. 2
              Christian Kruse
          2. 2
            Christian Kruse
            1. 0
              Matthias Apsel
              • zu diesem forum
              1. 0
                Christian Kruse
        3. 0
          Christian Kruse
          1. 0
            Tabellenkalk
            • javascript
            • zu diesem forum
            1. 0
              Matthias Apsel