0

python代码:menu_item = gtk.MenuItem("après")给出警告消息:Gtk warning Invalid input string并且菜单项未显示。我应该添加/更改什么来显示菜单项?

4

1 回答 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 回答