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

参考资料:

https://stackoverflow.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

 

问题:

 

1 use utf8;
2 
3 print "中文";

输出是乱码.

 

解决办法:

 

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

 

然后代码改为如下:

 

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

 

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

 

use utf8;

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

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

 

BTW, 我用的 Strawberry Perl

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值