Thread Term::ReadKey::ReadKey Codierungsfrage (13 answers)
Opened by Kuerbis at 2014-07-06 21:09

Kuerbis
 2014-07-06 21:09
#176318 #176318
User since
2011-03-20
947 Artikel
BenutzerIn
[default_avatar]
Hallo,

warum braucht es beim folgenden Script, wenn ich es in einer Windows-Konsole ausführe ein zusätzliches decode um ein korrektes "ö" zu bekommen?

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/usr/bin/env perl
use warnings;
use strict;
use 5.10.1;
use Encode;
use Term::ReadKey;
use Encode::Locale;
binmode STDOUT, 'encoding(console_out)';
binmode STDIN, 'encoding(console_in)';

ReadMode 'cbreak';

my $key = ReadKey();

say decode( 'console_out', $key );  # Windows: ö                                           -  Linux: �

say $key;                           # Windows: "\x{0094}" does not map to cp850 at ...19.  -  Linux: ö
                                    #          \x{0094}
ReadMode 'restore';

View full thread Term::ReadKey::ReadKey Codierungsfrage