1、binmode STDOUT, “:utf8〃; 因为程序本身是用utf8编码的(可以用use utf;明示给Perl)。这句话就是告诉Perl输出是utf8编码的。 2、use utf8::all; 当然,我们需要先安装这个模块utf8::all。 一劳永逸,所有涉及字符集编码的地方,此模版都会帮你设置为utf8; 3、encode( ‘utf8′, $_ ); 嗯。需要先use Encode;。对CPU有不小的开销。 4、原因 宽字节这事,是从windows C++发祥的。 我理解是懒得认真处理字符集问题的一种偷懒方式。将多个字节绑定为单一结构体内,以期达到hack式修复的目的。 这种做法确实使得在VS上编程时不用关心字符集了。 效果嘛,只能说在windows内部自己玩的时候还算蛮不错……