【发布时间】:2012-04-23 08:18:37
【问题描述】:
我使用XML::RSSLite 来解析我使用LWP 检索到的RSS 数据。 LWP 以正确的编码正确检索,但是当使用 RSSLite 解析数据时,编码似乎丢失了,并且从输出中删除了 é、è、à 等字符。是否可以设置选项以强制编码?
这是我的脚本:
use strict;
use XML::RSSLite;
use LWP::UserAgent;
use HTTP::Headers;
use utf8;
my $ua = LWP::UserAgent->new;
$ua->timeout(10);
$ua->env_proxy;
my $URL = "http://www.boursier.com/syndication/rss/news/FR0004031839/FR";
my $response = $ua->get($URL);
if ($response->is_success) {
my $content = $response->decoded_content((charset => 'UTF-8'));
my %result;
parseRSS(\%result, \$content);
foreach my $item (@{ $result{items} }) {
print "ITEM: $item->{title}\n";
}
}
我尝试使用XML::RSS,因为它似乎有更多选项在我的情况下可能很方便,但不幸的是它未能安装。 :(
【问题讨论】:
-
那个 URL 给出了 404 Not Found。
-
如果您在安装模块方面需要帮助,请阅读What's the easiest way to install a missing Perl module?,如果仍然需要,请阅读open a new question。
-
非常感谢 Daxim 4 您的回答,复制/过去时出错,我已更正,现在 URL 正常
-
这不是这里的问题(正如 daxim 指出的那样),但请注意,大多数 XML 解析器都需要 XML 文档,这意味着您需要防止 LWP 尝试使用 @987654327 部分解析 XML @