当我尝试使用以下代码下载一些
HTML文件时:
$mech->get($link) $mech->save_content("file.html");
我收到警告:
Wide character in print at C:/strawBerry/perl/site/lib/WWW/Mechanize.pm line 2040.
有人可以解释我如何修复此警告吗?
解决方法
您需要确保使用正确的编码打开输出文件句柄.
从简单的浏览文档来看,它看起来并不像Mech对已保存文件的可配置编码,因此您可以抓取内容并自行保存:
$mech->get( $link ); my $content = $mech->content; open my $fh,'>:utf8',$file or die "$file: $!"; print $fh $content;
打开的utf8位将确保发送到文件句柄的数据被正确编码为UTF-8.
另一种方法是手动编码:
use Encode; my $content = encode 'utf8',$mech->content; open my $fh,'>',$file or die "$file: $!"; binmode $fh; print $fh $content;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。