perl写入文件时中文乱码的解决方法

发布时间:2020-06-01编辑:脚本学堂
perl编写爬虫程序时,网页内容如果是英文可以正常写入文件,只要网页中包含中文,则文件全部是乱码。

perl编写爬虫程序时,网页内容如果是英文可以正常写入文件,只要网页中包含中文,则文件全部是乱码
网页的meta信息明明写着charset='utf8',并且已把网页内容直接输出到STDOUT也可以正常显示。

试了很多方法都不行:
open文件时指定utf8编码
使用Encode::_to_utf8
调用系统命令enca或iconv转码
使用Unicode::MapUTF8::to_utf8

下面是正确的解决方法:
使用Encode::encode和Encode::decode,即
 

复制代码 代码如下:
use Encode;
print FH encode("utf-8",decode("utf-8",$str));