Hi!
Mit Perl und MySQL muss ich dem Database_Handle NICHT sagen, ob da UTF-8 oder ISO* als Kodierung übertragen werden soll, die Zeichen kommen da mit der Kodierung an, wie sie entweder in MySQL gespeichert sind oder wieder da reinsollen.
Dann beobachtest du entweder was Falsches, oder Perl versteckt das Setzen der Verbindungskodierung, oder bei dir funktioniert es mit den gesetzten Default-Angaben, oder es sieht nur aus deiner Sicht so aus, als ob alles richtig läuft. Das Kapitel Character Set Support und speziell Connection Character Sets and Collations gilt generell für MySQL und nicht nur abzüglich Perl.
Zum Administrieren meiner Remote-MySQL-DB benutze ich daher eigene Scripts, die in Perl geschrieben sind, da kann ich auch mal unverfälscht (ohne Browser) und stichprobenartig nachschauen, in welcher Kodierung Zeichen in der DB tatsächlich gespeichert sind.
Kannst du nicht, denn dann müsstest du einen Dateibetrachter verwenden und dir die Datenbankdateien direkt anschauen. Wann immer du zu MySQL eine Verbindung über den offiziellen Weg aufbaust, kann es unter bestimmten in dem verlinkten Kapitel beschriebenen Umständen zu Umkodierungen kommen, von denen man üblicherweise nichts mitbekommt, wenn alles richtig gemacht wird.
Lo!