Perl WWW :: Mechanize编码问题

时间:2016-02-07 18:04:27

标签: perl web mechanize www-mechanize

我有以下代码:

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);,但没有帮助。

1 个答案:

答案 0 :(得分:2)

使用

$m->decoded_content;

而不是

$m->content;