1. Das kannst Du einfacher haben, ohne Registry-Eingriff:
Im Skript
system( "chcp", 1252 ); (
change
code
page)
2. Codepage 850 ist
nicht Latin-1, sondern eine der alten
OEM-Codepages aus DOS-Zeiten, die manchmal als "DOS-Latin-1" bezeichnet wird. Der Latin-1-Zeichensatz ist
ISO-8859-1. Der Zeichensatz, der unter Windows oft salopp ANSI genannt wird, heißt
Windows-1252 oder cp1252 und ist eine Erweiterung von ISO-8859-1, die u.a. das Euro-Zeichen enthält.
Wenn Du Sourcecode unter Windows hast, ist dieser i.d.R. cp1252. Um also Strings korrekt in der Konsole auszugeben, machst Du:
system( "chcp", 1252 );
print "blöde Maßegelung im €-Raum\n";
Wenn Dein
Sourcecode in UTF-8 gespeichert ist:
use utf8;
use Encode;
system( "chcp", 1252 );
print encode( "cp1252", "blöde Maßegelung im €-Raum\n" );
Editiert von FIFO: typo
Last edited: 2018-11-12 20:08:35 +0100 (CET)
Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it? -- Brian Kernighan: "The Elements of Programming Style"