Perl Print Win32 Console Windows 控制台 print Unicode 问题

参考资料:

https://*.com/questions/15224400/perl-on-windows-problems-with-encoding

https://technet.microsoft.com/en-us/library/bb490874.aspx

http://blog.csdn.net/xiezechang/article/details/8544292

问题:

 use utf8;

 print "中文";

输出是乱码.

解决办法:

CMD 输入命令 chcp, 得到的数字, 比如: 936

然后代码改为如下:

 use utf8;
use open ':std', ':encoding(cp936)'; print "何来";

有意思的是, 如果你直接从控制台输入中文, 再直接 print, 不会乱码. 代码如下

use utf8;

$text = <STDIN>;  # 输入 "中文"

print $text; # 不需要任何额外的其他东西就能正常输出

BTW, 我用的 Strawberry Perl

上一篇:BZOJ4195 [Noi2015]程序自动分析(离散化+并查集)


下一篇:Iframe 自适应高度