Perl und MySQL: Prob mit Zeichensatz
|
Seitenanfang |
| Nach dem Umstieg von SuSE 10.0 auf 10.2 funktioniert das Speichern von Umlauten aus einem Perl-Script mit PerlTK heraus in eine MySQL-Datenbank nicht mehr. Aus "äöüÄÖÜß" wird "ÀöÌÃÃÃÃ". Ich habe das Problem mit einem Testprogramm soweit eingegrenzt: Eine Subroutine schreibt den o.a. String in eine SQL-Tabelle. Wird die Routine aus dem Perl-Script direkt aufgerufen, so ist der Tabelleneintrag korrekt. Wird die gleiche (!!!) Routine als "-command => name_der_sub" an einen tkButton gehängt und dieser angeklickt, so wird "ÀöÌÃÃÃÃ" in die Tabelle eingetragen. Hat jemand dieses Problem auch schon gehabt - und gelöst? Ich bin jedenfalls mit meinem Latein am Ende.
Datum: 06.04.2007-23:48

|
re: Perl und MySQL: Prob mit Zeichensatz
|
Seitenanfang |
Du solltest die Daten, bevor sie in die Datenbank geschrieben werden nochmal decode()ieren.# in deiner sub $daten = decode("iso-8859-1", $daten); Bin mir mit dem iso-8859-1 nicht sicher, aber du kannst es ja mal probieren. - mike
Datum: 07.04.2007-10:11

|
re: Perl und MySQL: Prob mit Zeichensatz
|
Seitenanfang |
Hallo Mike, danke, das war der richtige Hinweis! Der Trick also:
use Encode 'encode'; $data = encode("iso-8859-1", $data);
Danach dann den INSERT-Befehl, und die Sache stimmt. Danke noch mal!Manfred
Datum: 07.04.2007-12:20

|
re: Perl und MySQL: Prob mit Zeichensatz
|
Seitenanfang |
| Jo kein Ding. - mike
Datum: 07.04.2007-16:05

|