当Perl读入的源文件是Unicode的utf-8格式时,在使用Perl处理并输出到一个新文件以后,编码格式会自动发生变化。从而使得有些字符(尤其是宽字符)无法正确地显示,即不再是utf-8格式了。
当Perl读入的源文件是Unicode的utf-8格式时,在使用Perl处理并输出到一个新文件以后,编码格式会自动发生变化。
从而使得有些字符(尤其是宽字符)无法正确地显示,即不再是utf-8格式了。
解决办法:
打开输出文件时即指定编码格式,就不会出现输出文件打开以后乱码的情况了。
普通的默认open输出文件:
复制代码 代码如下:
open(OUTPUT,'>>output.txt')||die"can not open the file: $!";
定义指定编码格式文件(或者成为使用Perl创建一个指定编码格式的文件):
复制代码 代码如下:
open OUTPUT, ">:encoding(utf-8)", "output.txt";
print OUTPUT $something;
close OUTPUT;