本文介绍了如何摆脱“印刷品中的宽字符"?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的文件/tmp/xxx
具有下一个内容:
I have file /tmp/xxx
with next content:
00000000 D0 BA D0 B8 │ D1 80 D0 B8 │ D0 BB D0 B8 │ D0 BA к и р и л и к
当我读取文件内容并打印时,出现错误:
When I read content of file and print it I get the error:
Wide character in print at ...
来源是:
use utf8;
open my $fh, '<:encoding(UTF-8)', '/tmp/xxx';
print scalar <$fh>
打印输出为:
кирилик
推荐答案
您正在打印到不希望使用UTF8的STDOUT.添加
You're printing to STDOUT which isn't expecting UTF8. Add
binmode(STDOUT, "encoding(UTF-8)");
在已打开的手柄上更改它.
to change that on the already opened handle.
这篇关于如何摆脱“印刷品中的宽字符"?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!