Tengo un problema con Perl y pragma de codificación.codificación de uso de Perl pragma rompiendo cadenas UTF
(I utilizar UTF-8 en todas partes, en la entrada, salida, los propios scripts de Perl. Yo no quieren usar otra codificación, nunca jamás.)
Sin embargo. Cuando escribo
binmode(STDOUT, ':utf8');
use utf8;
$r = "\x{ed}";
print $r;
veo la cadena "í" (que es lo que quiero - y lo que es U + 00ED carbón Unicode). Pero cuando agrego el pragma "use encoding" como este
binmode(STDOUT, ':utf8');
use utf8;
use encoding 'utf8';
$r = "\x{ed}";
print $r;
todo lo que veo es un carácter de cuadro. ¿Por qué?
Por otra parte, cuando agrego datos :: Dumper y dejar que el dumper imprimir la nueva cadena como esta
binmode(STDOUT, ':utf8');
use utf8;
use encoding 'utf8';
$r = "\x{ed}";
use Data::Dumper;
print Dumper($r);
veo que Perl cambió la cadena-"\x{fffd}"
. ¿Por qué?
Vea también: http://stackoverflow.com/questions/492838/why-do-my-perl-tests-fail-with-use-encoding-utf8 –