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

GwenDragon
 2014-07-07 14:33
#176329 #176329
User since
2005-01-17
14746 Artikel
Admin1
[Homepage]
user image
Wenn du bitte nicht genauer sagst, bei welchem code es hakt, ist es schwierig, weil ich muss versuchen deine Fehler und deine Codeteile zu erraten oder zu probieren, was du anders gemacht haben könntest.
Bitte sei so nett und gib mir ein Testcase, dass ich nachvollziehen kann.

2014-07-07T12:22:50 Kuerbis
(...) das normale readline nicht mehr.
Da ist kein Term::readline! Wo?
//EDIT: Axo, du meinst das CORE::readline, entschuldige. ;)

2014-07-07T12:22:50 Kuerbis
Wenn ich das alles so befolge(...)

Und wie "befolgst" du das?
Bitte Beispielcode wo es nicht geht.

//EDIT:


test2.pl:
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
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/usr/bin/env perl
use warnings;
use strict;
use 5.10.1;
use Encode;
use Term::ReadKey;
use Encode::Locale;

Encode::Locale::reinit('cp850'); # set to standard CP850  =Latin1

binmode STDOUT, ":encoding(console_out)";
binmode STDIN, ":encoding(console_in)";

say $Encode::Locale::ENCODING_LOCALE;
say $Encode::Locale::ENCODING_LOCALE_FS;
say $Encode::Locale::ENCODING_CONSOLE_OUT;
say $Encode::Locale::ENCODING_CONSOLE_IN;
say "";

do {
ReadMode 'cbreak';

my $key = ReadKey();
say "|$key|";
$key = decode( 'console_out', $key );
say "|$key|";

ReadMode 'restore';
};


do { 
my $in = <STDIN>;
chomp $in;
say "[$in]";
};


U:\>chcp 1252
Aktive Codepage: 1252.

U:\>test2.pl
cp850
cp850
cp850
cp850

|”|
|ö|
ö
[ö]

U:\>




Vielleicht klären wir erst mal ab, welches Perl und welche Module du da benutzt ;)
Editiert von GwenDragon: Code für mein Tesctase 2; Frage nach Perl-/Modul-Versionen
Last edited: 2014-07-07 14:54:38 +0200 (CEST)

View full thread Term::ReadKey::ReadKey Codierungsfrage