Andreas Bierhals: Lösung für das leidige Umlautproblem bei Formularübergabe an PERL

Beitrag lesen

Moin,

Bei Netscape gabs keine Probleme: Alle Umlaute wurden richtig aus dem Formular an PERL
übergeben, aber der IE 5.0 verwendet anscheinend eine url-encoding, die alle Umlaute in verrückte
Zeichen (wie z.B.: Ķ, oder ֤) umwandelt!

das wäre mir neu. Ich verwende im Prinzip die Methode, die im Selfhtml-cgi Kapitel
als Perl-Beispielskript zu finden ist, was bisher immer sowohl mit IE5 als auch
Netscape funktioniert hat. Hast Du Windows 2000? Wenn ja, dann sind Deine
'verrückten Zeichen' wahrscheinlich Unicode-Darstellungen der Umlaute. Dafür
spricht auch, daß es immer zwei Zeichen statt einem sind. Guck Dir daher
mal die in Perl eingebauten Unicode-Module an.

So schickt der Browser (HTML) statt ä's und ö's ,... ae's und oe's ,.... an den Server
(PERL). In meinem Perl-Script habe ich dann eine Funktion eingebaut,
die das ganze wieder rückgängig macht, und aus allen übergebenen Parametern sämtliche
ae's und oe's , ... wieder in Umlaute zurückverwandelt!

// sub parseString()
// {
//   $text =~ s/ae/ä/g;   $text =~ s/Ae/Ä/g;
//   $text =~ s/ue/ü/g;   $text =~ s/Ue/Ü/g;
//   $text =~ s/oe/ö/g;   $text =~ s/Oe/Ö/g;
// }

söben habe ich einen Fehler in Deinem Skript gefunden... ;-)

Viele Grüße

Andreas