Problem mit deutschen Umlauten und MySQL.
Verfasst: Montag 6. April 2015, 13:06
Hallo Leute,
ich habe da mal wieder ein Problem.
Ich habe zwar ein Buch/Tutorial zu Python gelesen (Galileo OpenBook Python) und auch die Stelle mit den Unicodes und dem Encodeing und Decodeing gelesen, aber ehrlich gesagt nicht alles verstanden.
Aktuelles Problem:
Ich habe eine Textvariable welche ich in meine MySQL-Datenbank inserten möchte.
Der SQL-Befehl ist auch schnell und einfach erstellt mit
feld1 und feld2 sind jeweils textfelder (vchar(11) und textfeld).
So, beim ausführen kommt solange kein Fehler bis ich auf ein deutschen Umlaut im value2 stosse. Also sobald ein deutscher Umlaut enthalten ist gibt es eine Fehlermeldung:
"UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 336: ordinal not in range(128)"
Ok, habe mir gedacht ich wandel den String erst einmal um nach UTF-8, meine MySQL-DB bzw. die Felder sind ja alle in utf-8-general_ci (oder andersherum geschrieben?).
Aber ich bekomme wieder eine Fehlermeldung:
"UnicodeDecodeError: 'ascii' codec can't encode character u'\xdf' in position 371: ordinal not in range(128)"
Könnt ihr mir bitte helfen? Ich habe grade kein Plan was zu tun ist?
Ich danke euch schonmal im Voraus für eure Mühe!
ich habe da mal wieder ein Problem.
Ich habe zwar ein Buch/Tutorial zu Python gelesen (Galileo OpenBook Python) und auch die Stelle mit den Unicodes und dem Encodeing und Decodeing gelesen, aber ehrlich gesagt nicht alles verstanden.
Aktuelles Problem:
Ich habe eine Textvariable welche ich in meine MySQL-Datenbank inserten möchte.
Der SQL-Befehl ist auch schnell und einfach erstellt mit
Code: Alles auswählen
"Insert into tablename (feld1, feld2) values ('" + value1 + "','" + value2 + "')"
So, beim ausführen kommt solange kein Fehler bis ich auf ein deutschen Umlaut im value2 stosse. Also sobald ein deutscher Umlaut enthalten ist gibt es eine Fehlermeldung:
"UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 336: ordinal not in range(128)"
Ok, habe mir gedacht ich wandel den String erst einmal um nach UTF-8, meine MySQL-DB bzw. die Felder sind ja alle in utf-8-general_ci (oder andersherum geschrieben?).
Code: Alles auswählen
mein_str = mein_str.decode('utf-8')
# habe esauch mit mein_str = mein_str.decode('utf-8', 'replace') versucht
"UnicodeDecodeError: 'ascii' codec can't encode character u'\xdf' in position 371: ordinal not in range(128)"
Könnt ihr mir bitte helfen? Ich habe grade kein Plan was zu tun ist?
Ich danke euch schonmal im Voraus für eure Mühe!