Python:某些unicode字符无法正确显示

时间:2016-07-12 13:45:27

标签: python unicode utf-8 fonts

我正在尝试设置GUI元素的标签,以便用Python显示希腊字母。

str(u'\u0054'.encode('utf8')) 将正确生成unicode字符' T',因为其unicode编号为0054.

书写 str(u'\u03B6'.encode('utf8')) 不会显示希腊字母小zeta而是显示this

我尝试写作 同样str(u'\uceb6'.encode('utf8'))(ceb6是我想要的角色的utf-8编码),但是有一个类似的,看起来很奇怪的角色,当然不是希腊字母zeta。

根据this网站,该字符可以使用常用字体。

可能是GUI工具包使用了一种奇怪的字体?我正在使用FOX工具包。

感谢任何帮助。

编辑: 我特意尝试创建一个文本标签FXLabel(parent, string),其中我提供字符串str(u'\u03B6'.encode('utf8'))。如上所述,为字符串提供大写字母t的unicode将产生预期的标签。

1 个答案:

答案 0 :(得分:0)

您的输出编码错误。确保您的终端配置正确,以便输出UTF-8。

如果我正确解释你的(相当泥泞的)图像,CE B6显示为 ¶这与许多常见的西方8-bit encodings中的任何一个都是一致的。