У меня проблема с прагмой Perl и Encoding.
(я использую utf-8 везде, при вводе, выводе, сами скрипты perl. Я не хочу использовать другую кодировку, никогда.)
Тем не менее. Когда я пишу
binmode(STDOUT, ':utf8');
use utf8;
$r = "\x{ed}";
print $r;
Я вижу строку " í " (это то, что я хочу - и что такое U + 00ED unicode char) Но когда я добавляю прагму «использовать кодировку», как это
binmode(STDOUT, ':utf8');
use utf8;
use encoding 'utf8';
$r = "\x{ed}";
print $r;
все, что я вижу, это символ коробки. Почему?
Более того, когда я добавляю Data :: Dumper и позволяю Dumper напечатать новую строку, как это
binmode(STDOUT, ':utf8');
use utf8;
use encoding 'utf8';
$r = "\x{ed}";
use Data::Dumper;
print Dumper($r);
Я вижу, что perl изменил строку на "\x{fffd}"
. Почему?