perl写入文件时中文乱码终极解决方案

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));

你可能感兴趣的:(Perl)