Wide character in perl

perl打印中文字符时,常有Wide character 错误,这是因为在程序中处理中文等宽字符时,perl不能识别要处理的内容。

可以通过一下方式on/off,打开关闭,临时允许标记utf-8 flag

use Encode;
Encode::_utf8_on($str);
Encode::_utf8_off($str);

这里还有一个更好的办法:在程序文件的头部加上以下内容:

use utf8;
binmode(STDIN, ':encoding(utf8)');
binmode(STDOUT, ':encoding(utf8)');
binmode(STDERR, ':encoding(utf8)');

一劳永逸

posted @ 2013-03-18 09:50  我的白日梦  阅读(442)  评论(0编辑  收藏  举报