Moin!
accept-charset wird von allen Browsern ausser Opera ignoriert.
Probiere es hier aus:http://forum.de.selfhtml.org/cgi-bin/test.pl
Es ist ISO-8859-1, UTF im accept-charset angegeben. Das Dokument
wird mit latin1 ausgeschickt. Jetzt schicke mal z. B. das -Zeichen,
und du wirst sehen: es kommt 0x80 an, nicht 0xE2 0xAC.
Hierbei gibt es zwei gravierende Probleme:
Erstens - wie du sagst: Die Browser wählen sich nicht, wie man vermuten könnte, denjenigen Zeichensatz aus, mit dem sie die Formulareingabe korrekt übermitteln könnten.
Zweitens: Selbst wenn sie das tun würden, außer Opera übermittelt kein Browser, welche Wahl er denn tatsächlich getroffen hat. Und das ist durchaus entscheidend, denn UTF-8 verwendet unter Umständen genau die Bytes, welche auch in ISO-8859-1 erlaubte Zeichen darstellen. Man kann also meistens anhand der übermittelten Bytes gar nicht feststellen, welche Codierung verwendet wurde.
Und drittens: Solange die Browser anstelle der angegebenen Codierungen irgenwas anderes (wie Windows-1252 oder so) nutzen, ist sowieso alles verloren.
- Sven Rautenberg