Thread Konvertierung Windows-1252 -> UTF8 (21 answers)
Opened by jan99 at 2014-09-19 11:52

FIFO
 2018-11-12 20:01
#189182 #189182
User since
2005-06-01
469 Artikel
BenutzerIn

user image
1. Das kannst Du einfacher haben, ohne Registry-Eingriff:
Im Skript system( "chcp", 1252 ); (change codepage)

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:
Code (perl): (dl )
1
2
system( "chcp", 1252 );
print "blöde Maßegelung im €-Raum\n"; # edit: encode unnötig, fucking copy-paste


Wenn Dein Sourcecode in UTF-8 gespeichert ist:
Code (perl): (dl )
1
2
3
4
5
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"

View full thread Konvertierung Windows-1252 -> UTF8