python代码:menu_item = gtk.MenuItem("après")
给出警告消息:Gtk warning Invalid input string
并且菜单项未显示。我应该添加/更改什么来显示菜单项?
问问题
452 次
1 回答
1
您的编辑器很可能将源文件保存为另一种编码,例如 Latin-1 或 Windows-1252,其中 GTK 需要 UTF-8。尝试替换"après"
为u"apr\u00e8s".encode("utf-8")
. 如果这使它起作用,那么问题就在那里。
要正确解决问题,您需要:
- 使用 Python 声明编码
# -*- coding: utf-8 -*-
- 确保您的编辑器以声明的编码保存文件。如有必要,请使用十六进制编辑器来验证这一点。
- 对非 ASCII 字符串使用 Unicode 字符串文字,即
u"après"
代替"après"
. 如果不接受 unicode 字符串,请使用u"après".encode("utf-8")
. PyGTK 通常接受 Unicode 字符串,因此不需要显式编码为 UTF-8。
于 2013-03-24T08:00:43.217 回答