molily: & (PHP) Feldwert: Resource id #2

Beitrag lesen

Hallo,

Du kannst den Zeichensatz nicht herausbekommen, wenn der Browser dir nicht sagt, welchen Zeichensatz er verwendet.

Und leider sagen außer dem Opera-Browser die häufig verwendeten Browser IE und Mozilla/Firefox (andere nicht getestet) in ihrem POST-Request eben nur, dass die gesendeten Daten zu den Formularfeldern gehören, aber nicht, in welchem Zeichensatz sie gesendet wurden.

Naja, <input type="hidden" name="_charset_"> füllen Firefox und MSIE mit der benutzten Zeichenkodierung aus.

Was Firefox natürlich nicht daran hindert, die Zusatzzeichen von Windows 1252 gegenüber ISO 8859-1 Windows-1252-kodiert zu senden (Eurosymbol, typographische Anführungszeichen, Bindestriche usw.) und es gleichzeitig als ISO-8859-1 zu bezeichnen. MSIE hält sich zwar auch nicht an accept-charset="ISO-8859-1", aber schreibt zumindest Windows-1252 in _charset_.

Übrigens sendet mein Opera 8.02 / Linux kein charset-Parameter mehr im Content-Type-Header beim POST,

Eine etwas ausführlichere Diskussion zu dem Thema gibts im Bugtracker des Mozilla auf englisch: https://bugzilla.mozilla.org/show_bug.cgi?id=228779. Bemerkenswert: Die mangelhafte Behandlung des Formular-Encodings durch Mozilla wurde schon 2003 bemängelt, ist aber immer noch nicht abschließend erledigt.

Nö, das ist nicht bemerkenswert.
Solchen Umgang mit Bugs kennt man zu gut.
Aufgrund solcher Schnitzer ist das Firefox-Team bei mir unten durch, was das Melden von Fehlern angeht. Auf Granit beißen kann ich auch anderswo.

Mathias