Cui Bono: accept-charset

Beitrag lesen

Die accept-charset-Angabe kann man getrost vergessen. Sie funktioniert in keinem der wichtigen Browser in allen Fällen korrekt (probier mal was "exotisches" wie UTF-16). Doch selbst wenn man sich auf ISO-8859-1 und UTF-8 beschränkt, kann man sich auf diese Angabe nicht verlassen, denn der IE selbst in der 8er Version scheint sie komplett zu ignorieren.

Die Angabe ist durchaus sinnvoll, wenn man z.B. fremde Sites ansteuert, die Formulardaten in einer anderen Kodierung als die des aktuellen Dokuments erwarten. Browser wie Firefox, Chrome, Safari und Opera beachten sie. Dabei ist zwar nicht UTF-16 nutzbar (tatsächlich exotisch bei Webformularen), aber z.B. die gebräuchlichen Kodierungen der ISO-8859-Familie. Darüber hinaus habe ich Shift_JIS positiv getestet.

IE ignoriert accept-charset tatsächlich und wählt eine auf die Formulardaten passende Kodierung. Das ist die Kodierung des Dokuments und alternativ UTF-8, wenn die Zeichen im Formular mit jener Kodierung nicht ausgedrückt werden können. Ein UTF-8-Formular in einem Nicht-UTF-8-Dokument lässt sich daher einfach mit einem versteckten Nicht-Latin1-Zeichen erzwingen.