1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
#!/usr/bin/perl # die folgenden Zeilen sollten in jedem Programm # Pflicht sein!! use strict; use warnings; # User muss beim Start die Datei angeben # mit ':encoding(...)' gibt man das Encoding der Datei an # mit '<' wird Datei gelesen open my $in_h, '<:encoding(utf-8)', $ARGV[0] or die $!; # Zieldatei soll iso-8859-1 sein open my $out_h, '>:encoding(iso-8859-1)', $ARGV[0].'.iso88591' or die $!; while( my $line = <$in_h> ){ print $out_h $line; # Perl macht die Umwandlung automatisch } close $out_h; close $in_h;
2011-02-22T17:47:41 kristiannicht alles was in der utf-8 Datei steht, kann in Latin1 abgebildet werden.
Ich würde mich daher, basierend auf den Erfahrungen in der Web-Programmierung dazu erdreisten das Zielformat Windows1252 vorzuschlagen.
Quote"Wenn iso-8859-1 drauf steht ist Windows1252 drin".
2011-02-22T18:03:10 leo11Satz 1 gilt für 1252 auch.
2011-02-22T18:03:10 leo11Und das man 8859-1 nach UTF-8 konvertiert und wieder zurück ist ja nicht ungewöhnlich.
2011-02-22T18:03:10 leo11Das es vorher 8859-1 war schreibt der Fragesteller nicht, ist aber neben den naheliegenden Windowsencodings ebenso wahrscheinlich wie 8859-15. Etwas wie Shift_JIS würde die Aufgabe unsinnig machen.
Quote"Wenn iso-8859-1 drauf steht ist Windows1252 drin".
2011-02-22T18:03:10 leo11Woher hast du das?
2011-02-22T18:31:18 kristianHallo
2011-02-22T18:03:10 leo11Satz 1 gilt für 1252 auch.
Sorry, den Teil deiner Aussage musst du mir erklären.
Quotenicht alles was in der utf-8 Datei steht, kann in Latin1 abgebildet werden.
Ich würde mich daher, basierend auf den Erfahrungen in der Web-Programmierung dazu erdreisten das Zielformat Windows1252 vorzuschlagen.
Quotenicht alles was in der utf-8 Datei steht, kann in Windows1252 abgebildet werden.
...
Quote2011-02-22T18:03:10 leo11Nein, gerade das funktioniert ja nur wenn sich die Zeichen in Latin-1 aka ISO-8859-1 abbilden lassen.Und das man 8859-1 nach UTF-8 konvertiert und wieder zurück ist ja nicht ungewöhnlich.
2011-02-22T18:03:10 leo11Ich weiß. Ich hab auch nichts gegenteiliges geschrieben. Ich schrieb 8859-1 nach UTF-8 und zurück nach 8859-1. Natürlich geht das.(-;
2011-02-22T18:03:10 leo11Quote"Wenn iso-8859-1 drauf steht ist Windows1252 drin".
Woher hast du das?
Quote... Manche Applikationen vermischen die Definition von ISO-8859-1 und Windows-1252. Diese Codierungen unterscheiden sich jedoch nur in den Kontrollzeichen im Bereich 8016 bis 9F16. Da diese beispielsweise in HTML keine Bedeutung haben, werden oft die druckbaren Zeichen aus Windows-1252 verwendet. Aus diesem Grund schreibt der neue HTML5-Standard vor, dass als ISO-8859-1 markierte Texte als Windows-1252 zu interpretieren sind. ...
2011-02-23T12:12:38 GwenDragonIch Interpretiere den HTML5-Draft so:
Wenn das Zeichenencoding als ISO-8859-1 angegeben ist und das eingelesenen Zeichen nicht aus ISO-8859-1 stammt, soll in dem Fall die Kodierung Windows-1252 als Ersatz angenommen werden.
Da steht nicht, dass für HTML5 ISO-8859-1 koderter Inhalt immer als Windows-1252 zu interpretieren ist.
2011-02-22T16:22:03 miwiegUTF-8 Unicode text, with escape sequences