Hi,
alle reden's von utf8. Ich auch :)
Beim Stöbern hab ich vor einiger Zeit mal zwei Funktionen gefunden, latin_to_utf8() und utf8_to_latin(). Hier sind Beide, sauber in ein Modul verpackt, viel Spaß damit!
package Convert;
###########################################################################
use strict;
require Exporter;
use vars qw(
@ISA
@EXPORT
);
@ISA = qw(Exporter);
@EXPORT = qw(
latin_to_utf8
utf8_to_latin
);
###########################################################################
# Übergeben wird eine Referenz auf den Text(string)
sub latin_to_utf8 {
my $txtref = shift;
$$txtref =~ s{
([\x80-\xFF])
}{
pack( "C2" => 0xC0|(ord($1)>>6),0x80|(ord($1)&0x3F) )
}exg;
return;
}
###########################################################################
# Übergeben wird eine Referenz auf den Text(string)
sub utf8_to_latin{
my $txtref = shift;
# ersetze alle Zeichen groeßer 8 bit durch "?":
$$txtref =~ s/[\xC4-\xFE][\x80-\xBF]+/\?/g;
# ersetze alle mit genau 8 bit durch ihr ASCII-Zeichen:
$$txtref =~ s/([\xC0-\xC3])([\x80-\xBF])/chr( (ord($1) & 3)*64 + (ord($2) & 63))/eg;
return;
}
###########################################################################
1;
--
Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.
Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.