1
2
3
open(DATEIHANDLE_OUTPUT, "> ". $DATEINAME_OUTPUT) || die "\nAbbruch!\nPerl meldet: [$!]\n\n";;
print DATEIHANDLE_OUTPUT @ALLE_ZEILEN;
close(DATEIHANDLE_OUTPUT);
1
2
3
open(DATEIHANDLE_OUTPUT, ">:encoding(UTF-8)". $DATEINAME_OUTPUT) || die "\nAbbruch!\nPerl meldet: [$!]\n\n";;
print DATEIHANDLE_OUTPUT @ALLE_ZEILEN;
close(DATEIHANDLE_OUTPUT) or die $!;
2010-02-05T11:04:37 betterworldCode: (dl )1
2
3open(DATEIHANDLE_OUTPUT, ">:encoding(UTF-8)". $DATEINAME_OUTPUT) || die "\nAbbruch!\nPerl meldet: [$!]\n\n";;
print DATEIHANDLE_OUTPUT @ALLE_ZEILEN;
close(DATEIHANDLE_OUTPUT) or die $!;
Beachte auch das "die" in der letzten Zeile, das ist wichtig, weil es meldet, wenn die Datei nicht geschrieben werden konnte.
2010-02-05T13:07:20 WolfDas nahme ich alles dankbar auf, aber warum werden die Dateien nun nicht als UTF-8 gespeichert?!
2010-02-05T13:29:15 bianca2010-02-05T13:07:20 WolfDas nahme ich alles dankbar auf, aber warum werden die Dateien nun nicht als UTF-8 gespeichert?!
Hab das gleiche Problem gerade wieder in einem ganz anderen Forum gehabt. Da lag es am Editor des Fragestellers. Der hat einfach kein UTF-8 gespeichert, daher half auch kein Header.
Andersrum: Was veranlaßt Dich zu glauben, es wäre kein UTF-8?
2010-02-05T14:47:03 sid burnKannst du den ein kleines Beispiel liefern wo das auftritt.
Normalerweise musst du die Daten vorher mit "decode" in das interne UTF-8 Format umwandeln, und wenn du das mit dem open nutzt und dort ">:encoding(UTF-8)" rein schreibst sollte das gehen.
Besser wäre aber ein komplett lauffähiges Mini Beispiel. Da es Zeichensatz probleme betreffen wäre auch ein kleines archiv mit deinen Beispieldaten gut.
1
2
3
open FILEHANDLE_INPUT, "<:encoding(MacRoman)", $FILENAME_INPUT || die "Abbruch! Perl meldet: [$!]";
our @ALLE_ALTEN_ZEILEN = <FILEHANDLE_INPUT>;
close(FILEHANDLE_INPUT) || die "Abbruch! Perl meldet: [$!]";
2010-02-05T13:02:54 sid burnDu prüfst nur ob die Datei geschlossen werden konnte und ob die letzten buffer auch korrekt geleert wurden. Aber das eigentliche schreiben prüfst du nicht.
2010-02-05T10:41:37 WolfCode: (dl )open(DATEIHANDLE_OUTPUT, "> ". $DATEINAME_OUTPUT) || die "\nAbbruch!\nPerl meldet: [$!]\n\n";