Возникла такая проблема. Есть графический интерфейс для консольной программы. Написан на Python(Tkinter). Проблема в следующем: некорректно отображаются русскиесимволы в виджетах (см. аттач). Если перед строкой, которая выводится на виджет ставить u, то вообще появляются кракозябры. unicode() тоже не помогает, говорит, что не может сконвертить строку.
Вот тестовая прога:
Код: Выделить всё
#!/usr/bin/python
from Tkinter import *
from ScrolledText import *
tk = Tk()
tk.title("Test")
txt = ScrolledText(tk)
txt.config(background="#FFFFFF")
txt.pack()
txt.insert(END, "Глючный шрифт\nAngliyskiy - normalno :(")
tk.mainloop()Ругается при запуске так:
sys:1: DeprecationWarning: Non-ASCII character '\xd0' in file ./test.py on line 11, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
Смотрел по ссылке, нашел коммент: # -*- coding: <encoding name> -*-
Поставил # -*- coding: utf-8 -*- - ругаться перестала, но русские символы такие же страшные и остались.
Если ставить считывание с виджета, то ругаетс, даже коммент не помогает:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 16-21: ordinal not in range(128)
Вопрос: как исправить глюки с юникодом и шрифты?