Sven: CGI.pm oder Standard schuld?

Beitrag lesen

Servus!

Das passiert aber nur, wenn das Formular in einem HTML-Dokument mit content="text/html; charset=UTF-8" steht.

Ja, danke für den Hinweis (mittlerweile auch rausgefunden)

Richtig. Die Funktion encodeURIComponent() encoded in UTF-8. Die Funktion escape() escaped den ISO-8859-1 Hex-Wert.

Stimmt nicht ganz und da liegt das Problem.
escape liefert beim Gedankenstrich eben nicht den Latin1-Wert (wäre %96), sondern %u2013 - also u für unicode und dann den Wert 8((

muss der Server das dann natürlich auch als UTF-8 auswerten wollen. Kann CGI.pm das? Das sollte in der Doku dazu stehen. Von allein wird es das nicht machen. Das wirst Du irgendwo angeben müssen, wenn es überhaupt geht.

Kann: Ja!
Wie: Keine Ahnung. Schau die Doku nochmal genau durch, aber bis jetzt nix. Was wenn der Server gemischte Anfragen bekommt?

Ich hab auch schon dem Autor geschrieben, der mich auf die neue Version verwiesen hat, die auch nicht hilft.

Die eigentliche Ursache ist aber die escape-Funktion, die eben einige Zeichen nicht Latin1-kodiert.

Wenn ich das Problem löse, läuft es.
Kann ja nicht so schwierig sein ...

gruß
Sven