我有以下代码:
my ($url) = "http://example.com"
my $m = WWW::Mechanize->new();
$m->get($url);
my $c = $m->content;
my $tree = HTML::TreeBuilder::XPath->new_from_content( $c );
if (my $content = $tree->look_down(_tag => "div", class => "content")) {
$content = $content->as_text();
}
问题是,当我解析内容时,某些文本有单引号或双引号,无法正确解析。例如,“this”
变为“thisâ€
。
据我了解,这是一些Windows-1252
编码。我该如何解决?
我尝试在程序开始时添加binmode STDOUT, ':encoding(utf-8)';
,但没有帮助。
我尝试添加$content = utf8::decode($content);
,但没有帮助。
答案 0 :(得分:2)
使用
$m->decoded_content;
而不是
$m->content;