【发布时间】:2018-04-25 06:12:05
【问题描述】:
我正在使用 tkinter 开发一个 python GUI 应用程序,它以希伯来语显示文本。
在 Windows(10、python 3.6、tkinter 8.6)上,希伯来语字符串显示良好。
在 Linux 上(Ubuntu 14,python 3.4 和 3.6,tkinter 8.6)希伯来语字符串显示不正确 - 没有 BiDi 意识 - 我错过了什么吗?
我安装了 pybidi,并通过bidi.algorithm.get_display(hebrew_string) - 字符串显示正确。
但是,在 Windows 上,get_display(hebrew_string) 显示不正确。
python-tkinter-Linux 不支持 BiDi 吗?
我必须用get_display(string) 包装每个字符串吗?
我必须用only_on_linux(...) 函数包装get_display(string) 吗?
【问题讨论】:
-
如果您使用 Unicode 字符,它应该可以正常工作。用
unicode = hebrew_string.encode("UTF-32")看看是否有效,然后显示unicode。 -
我不确定输出应该是什么。
-
我显示了字符串 'שלום':在 Windows 上显示正确,在 Linux 上显示为 'םולש'。使用 encode() 我得到垃圾,使用 print() 我得到: b'\xff\xfe\x00\x00\xe9\x05\x00\x00\xdc\x05\x00\x00\xd5\x05\x00\x00 \xdd\x05\x00\x00'
标签: python-3.x tkinter hebrew bidi