Umlaute in Perl

talis

Grünschnabel
Hallo,

war wahrscheilich wieder mal ein wenig vergesslich, weiss aber nicht wo: Habe einen Formmailer geschrieben und jetzt werden die Umlaute und Sonderzeichen als %f2 usw angezeigt.

Wie kann ich das ändern.

THX Talis :)
 
Die beste und einfachste Möglichkeit ist die Parameterübergabe das CGI-Modul erledigen zu lassen.

Code:
#!/usr/bin/perl

use CGI;

my $cgi = new CGI;

my %in = $cgi->Vars;

print $cgi->header("text/html");

print "In das Feld blub hast du $in{blub} eingegeben...";

Im obigen Fall kannst du alle Felder aus einem Formular wiederholen indem du einfach $in{FELDNAME} angibst. Dabei werden automatisch alle Sonderzeichen und Umlaute und was sonst noch alles übersetzt werden muss um mit HTTP-Transportiert zu werden umgewandelt.

Eine andere Möglichkeit erlaubt dir die pack() funktion von perl, mit deren hilfe kannst du aus den hexadezimal zeichen wieder ascii zeichen machen, allerdings ist das verfahren meist nicht so sicher wie das "erfahrenere" im CGI-Modul. :)
 

Neue Beiträge

Zurück