"내 $ 열 '| - : 인코딩 (utf-8)', qw (열);"에서 "| - : 인코딩 (utf- 승인? 거의 작동하는 것 같습니다. "Mikołaj"가있는 행에서 서식이 올바르지 않습니다. 어떻게 해결할 수 있습니까?Perl 파이프에서 인코딩을 설정하려면 어떻게해야합니까?
#!/usr/bin/perl
use warnings;
use strict;
use utf8;
binmode STDOUT, ':encoding(utf-8)';
# edit:
binmode DATA, ':encoding(utf-8)';
open my $column, '|-:encoding(utf-8)', qw(column);
print $column "$_\n" for <DATA>;
__DATA__
Julius
Giovanni
George
Alonso
Jerome
Eugène
Reinhold
Gustav
Pavel
Franz
Max
Mikołaj
Maurice
Alec
Émile
Xaver
Henry
Wolfgang
Alexander
Enrico
Bedrich
Joaquín
Bartholomäus
Otto
Carl
Isaak
Anatol
Leos
Herbert
Paul
Benjamin
Matthew
Jean
DATA의 인코딩은 어디에서 설정 했습니까? 일반적으로 들어오는 데이터를 명시 적으로 디코딩하고 암시 적으로 작동하는 것에 의존하기보다는 나가는 데이터를 명시 적으로 인코딩하는 것이 좋습니다. – jrockway
"binmode DATA, ': 인코딩 (utf-8)';"을 추가하려고했습니다. 하지만 "Mikołaj"로 포맷 문제를 해결하지 못했습니다. –
Linux에서 Perl 5.8.8이 작동합니다. 스크립트 및 시스템에 대한 자세한 내용은? – ephemient