Thread wieder mal Umlaute bei cgi Parameter
(9 answers)
Opened by chris- at 2009-01-15 18:25
ok. habe Link von moritz gelesen. Bin noch nicht schlau geworden
Mein System ist utf-8 basiert, die Dateien liegen im utf-8-Format auf der Festplatte. Ich lese Dateien ein und zeige sie via cgi-bin an. Lese ich von einem form gibt es Müll. Allggemein: Die Steite im Browser hat natürlich Code: (dl
)
<meta http-equiv="content-type" content="text/html;charset=utf-8" /> Versuch1: zu Beginn des Programms Code: (dl
)
use open ':encoding(UTF-8)'; Ergebnis: Datei wird im Browser richtig angezeigt. Gebe im Formular 'Ä' ein -> es für Datei zu ISO-8859 umgewandelt, obwohl ich im form accecpt-charset="utf-8" angegeben habe. Versuch2: Wie Versuch1, zusätzlich der Text aus der form mit Code: (dl
)
decode ('utf-8', $query->param('domains')); umgewandelt. Ergebnis: Datei von HD wird im Browser richtig angezeigt. Ä -> � Also, das kann es nicht gewesen sein. Versuch3: Wie Versuch1, zusätzlich der Text aus der form mit Code: (dl
)
decode ('latin1', $query->param('domains')); umgewandelt. Ergegbnis: Datei -> Browser: korrekt Ä -> in Datei: Ä: korrekt So wie es aussieht liefert der Browser latin1, aber warum?? Im Form ist utf-8 eingestellt, der Browser (Ansicht -> Zeichenkodierung) ebenfalls. Nun, wenn mir das nun einer erklären könnte... Edit: Anmerkung: Verwende CGI::Application. |