Perl 및 Encoding pragma에 문제가 있습니다.Perl에서 encoding pragma UTF 문자열을 사용합니다.
은 (I 입력, 출력, 모든 곳에서 UTF-8을 사용, 펄 스크립트 자체는. 나는 다른 인코딩, 결코 이제까지를 사용하지 않습니다.) 그러나
. 내가
binmode(STDOUT, ':utf8');
use utf8;
$r = "\x{ed}";
print $r;
을 쓸 때 나는 (- 무엇 U + 00ED 유니 코드 문자입니다 내가 원하는 것입니다) 문자열 "í"을 참조하십시오. 그러나 이런 "사용 인코딩"pragma를 추가하면
binmode(STDOUT, ':utf8');
use utf8;
use encoding 'utf8';
$r = "\x{ed}";
print $r;
나는 모두 상자 문자입니다. 왜? 나는 데이터 : 덤퍼를 추가하고 덤퍼 내가 그 펄 이 "\x{fffd}"
에 문자열을를 변경 볼이
binmode(STDOUT, ':utf8');
use utf8;
use encoding 'utf8';
$r = "\x{ed}";
use Data::Dumper;
print Dumper($r);
같은 새 문자열을 인쇄 할 수 있도록 또한
. 왜?
참조 : http://stackoverflow.com/questions/492838/why-do-my-perl-tests-fail-with-use-encoding-utf8 –