Thread WWW::Mechanize und Umlaute (5 answers)
Opened by J-jayz-Z at 2007-03-30 13:17

J-jayz-Z
 2007-03-30 13:17
#75572 #75572
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hi,

ich habe mal wieder ein Problem mit WWW::Mechanize und den Umlauten. Ich lade mir eine Seite herunter und gebe sie aus. So sehe ich die Umlaute einwandfrei. Wenn ich sie jedoch in die Datenbank schreibe, sind sie total kaputt. Auch ein
Code: (dl )
decode("utf8", $content);
hilft nicht.

Eigentlich sieht mein Script im großen und ganzen nur so aus:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/perl -l
use strict;
use warnings;

use Encode;
use WWW::Mechanize;
use DBI;

my $user = 'user';
my $passwd = 'passwd';
my $db = 'db';
my $host = 'localhost';
my $driver = "DBI:mysql:$db:$host";
my $dbh = DBI->connect($driver,$user,$passwd) || die $DBI::errstr;

my $mech = new WWW::Mechanize();
$mech->get("http://personalstrategie.de/ab_21_detail.php3?nr=946&kat=ps");

my $statement = "INSERT INTO foo (content, headline) VALUES('".decode("utf8", $mech->content())."', 'foo')";
my $sth = $dbh->prepare($statement) || die $DBI::errstr;
$sth->execute() || die $DBI::errstr;

print "Ready ...";


Dann bekomme ich bei den Umlauten Zeichen wie "ýberprÃ&¼fung" oder ähnlichem. Bei der Ausgabe scheinen die Umlaute noch ok zu sein. Jemand ne Idee, wie ich das beheben kann? Auch use encoding 'iso-8859-1'; hat nichts gebracht
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de

View full thread WWW::Mechanize und Umlaute