Ich versuche ein Perl-Programm mit Mechanize zu entwickeln, das es mir erlaubt, Inhalte von meiner Website auf einer anderen Website erneut zu veröffentlichen. Aber ich habe einige Probleme mit Codierung:Codierung von Newline, Anführungszeichen und Sonderzeichen mit Perl Mechanize
- es in der anderen Website nicht Newline ist, wenn ich umbuchen meine Inhalte
- die Zitate werden nicht interpretiert
- das Symbol wie € sind zu nicht interpretiert
Meine Website ist mit UTF-8 codiert und die andere Website ist mit ISO-8859-15 codiert. Hier ist ein Beispiel für die Daten auf meiner Website und das Ergebnis auf der anderen Website:
10 M € d'encours/10 M? ? D Encours
hier ist mein PERL Programm:
#!/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;
Vielleicht würde dies helfen: http://stackoverflow.com/questions/627661/how-can-i-output-utf-8-from-perl – Jeef