Thread Encoding, Umlaute, ...
(19 answers)
Opened by roli at 2015-07-10 14:04
Hallo,
wie es aussieht mache ich einen Grundsätzlichen Fehler, den ich aber bislang noch nicht erkannt habe. Ich sitze an einem Windows Rechner, in der Dosbox habe ich Codepage 1252 eingestellt. Meine Perl Datei ist mit Notepad++ als "Windows-1252" mit Dos\Windows Zeilenumbruch gespeichert. Ich möchte jetzt gerne Umlaute, Euros, ... in eine Datei und in die Dosbox schreiben, leider ohne Erfolg. Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 use Modern::Perl '2015'; my $encoding = $^O eq 'MSWin32' ? 'cp1252' : 'utf8'; say "Encoding: $encoding <"; binmode(STDOUT, ":encoding($encoding)" ); binmode(STDERR, ":encoding($encoding)" ); binmode(STDIN, ":encoding($encoding)" ); # each open() automatically uses :encoding($encoding) use open ':encoding($encoding)'; my $res_file = "Erg.txt"; open(my $fh, ">:encoding($encoding)", $res_file) or die "Could not open file '$res_file'"; say $fh "Umlaute: äöüßÄÖÜ"; say $fh "Euro €"; say "Umlaute: äöüßÄÖÜ"; say "Euro €"; close $fh; In der Konsole sehe ich: Konsole In der Datei steht: Datei Danke Roland
-- "Steh vorn, während du fragst; sitzen soll, wer antwortet." Aus "Die Edda des Snorri Sturluson" "Gylfis Täuschung" Strophe 2 |