使用HTML::Strip后如何编码
我正在尝试使用cp1252对HTML页面进行编码,因为它有很多特殊字符,比如使用HTML::Strip后如何编码,html,perl,cp1252,Html,Perl,Cp1252,我正在尝试使用cp1252对HTML页面进行编码,因为它有很多特殊字符,比如€和£磅,但是当我在使用后保存这些内容时。内容显示为垃圾值。我试图用cp1252编码,但它不起作用 请帮我解决这个问题 use strict; use warnings; use HTML::TreeBuilder::XPath; use LWP::UserAgent; use HTTP::Request; use HTML::Entities; use HTML::Strip; open( OUT, '>:e
€
和£
磅,但是当我在使用后保存这些内容时。内容显示为垃圾值。我试图用cp1252编码,但它不起作用
请帮我解决这个问题
use strict;
use warnings;
use HTML::TreeBuilder::XPath;
use LWP::UserAgent;
use HTTP::Request;
use HTML::Entities;
use HTML::Strip;
open( OUT, '>:encoding(cp1252)', "/home/local/ANT/jeyakuma/Desktop/test.html" );
my $URL = 'http://www.footlocker.eu/it/it/k/Customer-Service/Shipping.aspx';
my $agent = LWP::UserAgent->new( agent => "Mozilla/5.0" );
my $request = HTTP::Request->new( GET => $URL );
my $response = $agent->request($request);
# Check the outcome of the response
if ( $response->is_success ) {
my $xp = HTML::TreeBuilder::XPath->new_from_content( $response->decoded_content );
my $raw_html = $xp->findnodes_as_string(
'//div[@class="faq_text"]/p/strong/u[contains(.,\'spedizione Standard \')]'
);
my $hs = HTML::Strip->new();
my $clean_text = $hs->parse($raw_html);
$hs->eof;
print OUT $clean_text;
}
elsif ( $response->is_error ) {
print "Error:$URL\n";
print $response->error_as_HTML;
}
预期产量
£ 60/
电流输出
£ 60/â‚
快速浏览一下HTML::Strip,就会发现字符串的错误处理
my$clean\u text=decode\u utf8($hs->parse(encode\u utf8($raw\u html))
应该可以做到这一点。Encode提供的函数。如果有人想确认并窃取此信息以做出回答,请继续。必须运行。感谢您的建议,但它会抛出一个错误“undefined subroutine&main::encode_utf8”,您必须从encode获取它们<编码>使用编码qw(解码\ utf8编码\ utf8)代码>太好了!!真管用!!谢谢