Hallo Leute,
ich finde für folgendes Problem leider keine Lösung.
Ich habe eine Datei, die in Unicode (!nicht UTF-8!) kodiert ist.
Ich brauche aber diese Daten unbedingt in UTF-8 kodiert.
Dazu lese ich diese Datei mit Hilfe von Perl in eine Variable $data ein.
Ich habe folgendes versucht:
open(OUTPUT, ">> atest.txt") || die "kann datei1 nicht öffnen $!";
print OUTPUT $data;
close(OUTPUT);
my $neudata = =encode('UTF-8', $data);
open(OUTPUT, ">> btest.txt") || die "kann datei2 nicht öffnen $!";
print OUTPUT $neudata ;
close(OUTPUT);
Nun habe ich mit einem Hex-Editor die beiden Dateien atest.txt und btest.txt verglichen und folgendes gesehen.
a) ASCII-Zeichen werden richtig konvertiert (was ja auch identisch ist)
b) auch der erweiterte Bereich z.B. Unicode DF wird richtig nach UTF-8 C39F konvertiert (dies ist das deutsche sz).
c) Aber andere Zeichen z.B. Unicode 2022 wird nicht korrekt nach UTF-8 konvertiert, was dort E280A2 lauten müsste. Es bleibt dort einfach 2022 stehen.
Kann mir hier jemand helfen, wie ich mein Problem in Perl lösen kann?
vielen Dank im voraus
Gerd