Flury: UTF8 und DBI (mysql)

Beitrag lesen

Hi zusammen,

ich hab mal wieder ne Frage ...

Ich hab empfange via Formular Daten in mein Perlscript (via cgi-modul).
Nun möchte ich diese Daten weiter in die DB laden (via DBI-Modul).
Soweit so gut. Jetzt hab ich mit meinem Zeichensatz "Probleme", also mit den ö, ä, ...
Ich hab gelesen, dass ich die Daten am besten utf8-kodiert in meine DB speichern soll. (Hoffe das stimmt). Nun ist die Frage wie mach ich das am besten?

Meine html-Seite mit Formular hat den meta-tag:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Mein Versuch im script:
$main::dbh->do("set character set utf8");
$main::dbh->do("set names utf8");
my $sql = qq{INSERT INTO x (uid) VALUES (?)};
my $sth = $main::dbh->prepare ($sql) || die "Kann Statement nicht vorbereiten: $DBI::errstr\n";
$sth->execute($par_uid);
$sth->finish;

Aber er speichert mir die Daten dennoch nicht utf-8 kodiert in der DB ab (das seh ich anhand der Darstellung im Browser bei phpmyadmin), sondern als normales öä (hmm vielleicht brauch ich mir da keinen Aufwand machen um das überhaupt zu kodieren, aber ich glaub das wäre eher unschön).

Oder habt ihr mir vielleicht mal ein Beispiel, wie ihr allgemein bei dem Problem perl/dbi/mysql/"Sonderzeichen" in DB schreiben, auslesen und wieder als html darstellen?

Was ich noch dazu sagen muss ist, dass ich meine mysql-db-Grundeinstellungen nicht verändern kann, da es eine gehostete DB ist. Aber ich hab ein paar Tabellen drin (von freeware-php-scripten erzeugt), die daten utf-8 kodiert abgespeichert haben, sprich die DB kann das prinzipiell mit den derzeitigen Einstellungen.

VIELEN DANK schonmal.

ciao,
Flury