Exception in Tkinter callback Traceback (most recent call last): File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1473, in __call__ return self.func(*args) File "/home/den/myprojects/pochta/pochta/__init__.py", line 205, in start4 cursor.execute(sql) File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 176, in execute if not self._defer_warnings: self._warning_check() File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 92, in _warning_check warn(w[-1], self.Warning, 3) File "/usr/lib/python2.7/warnings.py", line 29, in _show_warning file.write(formatwarning(message, category, filename, lineno, line)) File "/usr/lib/python2.7/warnings.py", line 38, in formatwarning s = "%s:%s: %s: %s\n" % (filename, lineno, category.__name__, message) UnicodeEncodeError: 'ascii' codec can't encode characters in position 35-50: ordinal not in range(128)
Пробывал разные encode, язык русский стоит везде Utf-8, # -*- coding: utf-8 -*- тоже имеется…
В чем же проблема?(
def start4(event): global poisk3 poisk3=entry_tip.get() poisk3=poisk3.encode('utf-8') root4.destroy() # запрос к БД sql = """SELECT id_tip, id_otd, name FROM tipografia, otdelenia WHERE tipografia.id_tip = otdelenia.id_otd AND tipografia.adres = otdelenia.name LIKE '%s' LIMIT 1""" %poisk3 # выполняем запрос cursor.execute(sql) # получаем результат выполнения запроса data = cursor.fetchall() # перебираем записи for rec in data: # извлекаем данные из записей - в том же порядке, как и в SQL-запросе name = rec # выводим информацию #print adres # закрываем соединение с БД root = Tk() root.geometry('300x100') root.title("По адресу") frame_tip1 = Frame(root) frame_tip1.grid() Label_tip1 = Label(frame_tip1, width=40, height=6, text=name) Label_tip1.grid(row=1, column=1) db.close()
