Öhm, das Problem hatte ich bei einer Paradox-Datenbank.
Angeblich kann man das per ODBC einstellen, dass der passende Zeichensatz übermittelt wird.
Leider hat das bei mir nicht funktioniert, aber ich habe festgestellt, dass die Zeichen auf der Skala um eins nach rechts verschoben wurden.
Wenn du mit den Codierungsversuchen nicht wieterkommen solltest kannst du ja mal ausprobieren, ob die die Umlaute durch Verschiebung erhälst:
my $neuzeichen = chr(ord($zeichen)+$verschiebung);
mfg pktm