For most systems, Tkinter should accept unicode strings and render them more or less properly: http://mail.python.org/pipermail/tkinter-discuss/2004-March/000047.html

"more or less properly" means that Tk treats each element of the unicode string as a separate character, and renders it left to right (it gets right-to-left layout and combining characters wrong).

Apparently the situations on Macs, including OS X is not quite so sunny: http://mail.python.org/pipermail/tkinter-discuss/2004-March/000048.html

RedHat9 and Fedora Core 1 shipped with mismatched versions of Python and Tcl unicode support, leading to the following error:

>>> t.insert(Tkinter.END, u"\xc1")
SystemError: Py_UNICODE and Tcl_UniChar differ in size

If you BuildYourOwnPython you won't have this problem. If that's not an option, you can also get around this by encoding your Unicode strings as UTF-8:

>>> t.insert(Tkinter.END, u"\xc1".encode("utf-8"))

None: UnicodeSupport (last edited 2004-09-19 21:05:56 by 10)