Thread Encoding, Umlaute, ... (19 answers)
Opened by roli at 2015-07-10 14:04

roli
 2015-07-10 14:04
#181533 #181533
User since
2004-12-31
424 Artikel
BenutzerIn
[default_avatar]
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

View full thread Encoding, Umlaute, ...