我有下面内容的/tmp/xxx文件:

00000000 D0 BA D0 B8 │ D1 80 D0 B8 │ D0 BB D0 B8 │ D0 BA     к и р и л и к

当我读取文件内容并打印时,出现错误:
Wide character in print at ...

来源是:
use utf8;
open my $fh, '<:encoding(UTF-8)', '/tmp/xxx';
print scalar <$fh>

print的输出为:
кирилик

最佳答案

您正在打印到不希望使用UTF8的STDOUT。
添加

binmode(STDOUT, "encoding(UTF-8)");

在已经打开的 handle 上更改它。

关于perl - 如何摆脱 `Wide character in print at`?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47940662/

10-12 19:22