Tôi đang cố gắng phát triển chương trình PERL với Cơ chế cho phép tôi đăng lại nội dung từ trang web của tôi trên một trang web khác. Nhưng tôi có một số vấn đề với mã hóa:Mã hóa dòng mới, dấu ngoặc kép và ký tự đặc biệt với Perl Mechanize
- không có xuống dòng trong trang web khác khi tôi đăng lại nội dung của tôi
- có dấu ngoặc kép không được giải thích
- biểu tượng như € không giải thích quá
Trang web của tôi được mã hóa bằng UTF-8 và trang web khác được mã hóa theo ISO-8859-15. Đây là mẫu dữ liệu trên trang web của tôi và kết quả được đăng trên trang web khác:
10 M € d'encours/10 M? ? D encours
đây là chương trình PERL tôi:
#!/usr/bin/perl
use utf8;
use strict;
use warnings;
use WWW::Mechanize;
use HTML::TreeBuilder;
use HTML::TreeBuilder::XPath;
my $mech = WWW::Mechanize->new(
stack_depth => 0,
timeout => 10,
);
$mech->get("RecoveredDataFromMyWebsiteUrl");
my $tree = HTML::TreeBuilder::XPath->new_from_content($mech->content);
my $data = $tree->findvalue('/html/body//div[@id="content"]');
$data = Encode::encode("iso-8859-15",$data);
$mech->get("OtherWebsiteFormularUrl");
$mech->form_name("formular")->accept_charset('iso-8859-15');# Form Post Emploi
$mech->set_fields(
content => $data
);
$mech->submit;
open FIC,">output.html"
or die "E/S : $!\n";
my $out = select(FIC5);
print $mech->content;
Có lẽ điều này sẽ giúp: http://stackoverflow.com/questions/627661/how-can-i-output-utf-8-from-perl – Jeef