Hallo Leute,
ich verwende bei einigen Perl-Scripten das XML-Modul um XML-Dateien zu verarbeiten. Enthält diese Datei auch Umlaute, so werden die nicht richtig konvertiert. Ich bearbeite das folgendermassen nach:
sub converter {
my ($className, $string) = @_;
my $codea = pack("H*","c3a4");
my $codeA = pack("H*","c384");
my $codeo = pack("H*","c3b6");
my $codeO = pack("H*","c396");
my $codeu = pack("H*","c3bc");
my $codeU = pack("H*","c39c");
my $codes = pack("H*","c39f");
$string =~ s/$codea/ä/g;
$string =~ s/$codeA/Ä/g;
$string =~ s/$codeo/ö/g;
$string =~ s/$codeO/Ö/g;
$string =~ s/$codeu/ü/g;
$string =~ s/$codeU/Ü/g;
$string =~ s/$codes/ß/g;
return $string;
}
Das funktioniert auch bestens! Allerdings habe ich ein Problem, wenn ich Daten nicht in eine HTML-Seite einbaue, sondern als e-Mail verschicke. Dann muss ich ja:
$string =~ s/$codea/ä/g;
etc. verwenden. Das funktioniert aber nicht. Kann mir da jemand helfen? Gibt es vielleicht schon eine elegantere Konvertiermethode als mein Geschnipsel dort oben?
Meise