Daniel unreg: form accept-charset="utf-8"

Beitrag lesen

Hallo,

Aber brauche ich das überhaupt?
Ich dachte utf-8 ist so toll barrierefrei und der Zeichensazu enthält eh alle Zeichen?

Problem ist nur, dass ein UTF-8 kodiertes Zeichen nicht mit einem ISO-8859-x kodiertem Zeichen identisch ist (in ISO-kodierungen hat jedes Zeichen ein Byte, in Unicode kann es auch mehr Byte groß sein). Das ist etwas kompliziert, muss dich aber nicht wirklich interessieren.
Mit dem Attribut kannst du festlegen, dass der Browser die Benutzereingaben auch tatsächlich UTF-8 kodiert absendet. Das wäre an sich auch bei einer ISO-kodierung notwendig.

Was passiert, wenn jemand nicht utf-8 eingeben würde und ich habe kein accept-charset angegeben?

Nicht-UTF-8 kodierte Zeichen einzugeben ist das geringere Problem. Wenn der Browser sich im UTF-8 "Modus" befindet, dann werden die Zeichen meist auch richtig kodiert.
Ist das nicht der Fall kannst du ISO-kodierte Zeichen erhalten, die bei dir als UTF-8 interpretiert werden und dadurch zu "Sonderzeichen" werden.

Was passiert wenn ich accept-charset angegeben habe; werden die Eingaben einfach vershcluckt?

Nein, die Zeichen werden dann Still und heimlich umkodiert. Das ist wie mit einem UTF-8 fähigem Texteditor. Du kannst sie in den UTF-8 Modus versetzen und wenn du ISO-kodierte Texte kopierst werden diese beim Einfügen umkodiert. Da geht nichts verloren. Mann muss nur immer darauf achten, dass alle beteiligten komponenten UTF-8 kennen.

Was ist, wenn ein Browser keine Eingaben in utf-8 ermöglicht?

Meine Güte, das sind schon sehr alte Browser, die von ihren Herstellern nicht mehr unterstützt werden. Alle aktuellen Browser unterstützen UTF-8.
Wer diese alten Browser verwendet hat halt Pech gehabt. Meines Erachtens werden mehr Benutzer durch schlechtes HTML ausgeschlossen als durch UTF-8-Inkompatibilität.

Gruß;