Thread Problem mit Zeichensatz bei Ajax Webseite
(37 answers)
Opened by bianca at 2018-11-01 15:05 2018-11-02T06:26:14 bianca Puh! Das erklärt nun etwas, was mir bisher völlig schleierhaft war: Warum andere Umlaute bei Dir funktionieren und das à nicht. Andere Umlaute haben eben kein 0xA0-Byte... Und: ja, vorher das Decoding zu machen, ist das einzig richtige Vorgehen. 2018-11-02T06:26:14 bianca Wenn's aus dem gleichen Formular kommt: Nicht wirklich. Weder Firefox noch Chromium schicken beim Content-Type: application/x-www-form-urlencoded eine Charset-Deklaration mit, auch dann nicht, wenn das Formular explizit eine angefordert hat (accept-charset="UTF-8"). Und wenn's im Request nicht steht, dann kann CGI.pm das auch nicht rausholen. Die Browser halten sich aber an die accept-charset-Vorgabe, Du hast also zwei Möglichkeiten:
Noch eine Empfehlung dazu: Ich verwende decode_utf8 nur mit Encode::FB_CROAK in einem eval-Block (oder besser einem entsprechenden try/catch-Mechanismus). Denn auch wenn Du annimmst, dass da UTF-8 kommt: jeder einfallsreiche Mensch kann jedweden Binärschrott bei Deiner URL abliefern, dazu braucht's nicht einmal ein Formular. Last edited: 2018-11-02 12:26:28 +0100 (CET) |