How should I handle "above the range (U+0000-U+FFFF) allowed by Tcl"?

2.2k views Asked by At

It is a known problem of Tkinter/Tcl in Python3 that it only supports characters between U+0000-U+FFFF.

There are some solutions around parsing strings and replacing the not allowed characters with placeholders or codes. But I have to know that there is a disallowed character in before this make sense.

Do I really have to use this parsing-replacing-algorithms for every string I put in my Tkinter GUI? The essential point of my question is that I have data (webfeeds) I don't know. Do I have to parse this big amount of data only because one of some millions of this data pieces use unallowed characters?

Is there a pythonic way to solve this? Can I use parsing-replacing-algorithms without wasting too many resources?

#!/usr/bin/env python3

from tkinter import *

if __name__ == '__main__':
    root = Tk()

    l = Listbox(root)
    l.pack()

    d = ['A', 'B', u'\U0001F384', 'D']

    for s in d:
        l.insert(END, s)

    root.mainloop()
1

There are 1 answers

0
buhtz On BEST ANSWER

The first solution was really to parse such characters for myself and replace them.

The second and later solution was to switch to a different GUI toolkit. I am using Gtk (PyGObject) now.