
Moin Leute! Ich habe eine MySQL-Dtanbank gebaut, die ich über ein Tkinter-GUI füttern will. (Die Datenbank ist per default auf latin-1 eingestellt.) Ich habe nach einiger Analyse glaube ich zwei Probleme: 1) Im GUI tauchen Listboxen auf, deren Inhalt ich aus einer extra Tabelle der DB hole. (z.B. eine Liste der Veranstaltungsart, es wird eine Art Terminerfassung) Beim Abfragen der Listbox (li_1.get("active")) möchte ich gerne zum ausgewählten Eintrag die zugehörige id aus der Tabelle fischen um sie in der Muttertabelle einfügen zu können. Das mache ich so: (korrekter: ich versuche es so) #art_der_veranstaltung ist eine zweispaltige Tabelle id|char(256) [...] c.execute(""" SELECT * FROM art_der_veranstaltung """) liste_veranstaltungs_art = c.fetchall() #daraus wird auch die Listbox gefüttert, aber das funktioniert ja #(auch mit umlauten) for zeile in liste_veranstaltungs_art: if zeile[1] == li_9.get("active"): veranstaltungs_art_id = zeile[0] else: veranstaltungs_art_id = 1 [...] Damit gibt's ein Problem: UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 14: ordinal not in range(128) Das, was ich von der GUI wiederbekomme (li_9.get("active")) scheint unicode zu sein (huch?) und (zeile[1]) ist str. Muss ich jetzt das eine ins andere de-/encodieren? Und wenn, wen wierum? 2) (vielleicht ja das selbe Problem) Texteingabefelder akzeptieren keine Umlaute (oder EUR-Zeichen). Im GUI wird noch alles formidabel dargestellt, hole ich den Inhalt, und versuche ihn in meinen SQL-Befehl zu schleusen gibt's wieder 'nen Fehler (beim Ausführen des SQL-Befehls: UnicodeEncodeError: 'ascii' codec can't encode character u'\xf6' in position 208: ordinal not in range(128) geholt wird mit: titel = en_1.get() beschreibung = te_7.get(1.0, END) c.execute("""INSERT INTO termine (art_der_veranstaltung_id, datum_von, datum_bis, zeit_von, zeit_bis, titel, kosten_id, bemerkung_id, beschreibung, veranstaltungs_ort_id) VALUES (1, '%s', '%s', '%s', '%s','%s', 1, 1, '%s', 1)""" % (date_von, date_bis, zeit_von, zeit_bis, titel, beschreibung)) Hat jemand eine Idee? Ist wahrscheinlich trivial. Grüße und schönes WE! Alexander Pelzer -- Alexander Pelzer alepe@arcor.de _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de
participants (1)
-
Alexander Pelzer