Mar*_*tin 3 windows perl encoding activeperl
我的Perl脚本有问题.在类UNIX系统中,它可以ä正确地将所有Unicode字符打印到控制台.在Windows命令行中,字符被破坏为无意义的字形.有一种简单的方法可以避免这种情况吗?我正在使用use utf8;.
提前致谢.
ike*_*ami 12
use utf8; 只是告诉Perl您的源是使用UTF-8编码的.
它也不适用于unix.有些字符串无法正确打印(print chr(0xE9);),大多数字符串会打印"宽字符"警告(print chr(0x2660);).您需要解码输入并对输出进行编码.
在unix系统中,这是通用的
use open ':std', ':encoding(UTF-8)';
Run Code Online (Sandbox Code Playgroud)
在Windows系统中,您需要使用它chcp来查找控制台的字符页面.(437对我来说.)
use open ':std', ':encoding(cp437)'; # Encoding used by console
use open IO => ':encoding(cp1252)'; # Encoding used by files
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2984 次 |
| 最近记录: |