移动应用程序时出现编码错误

Coding errors when moving the application

我正在将应用程序从 linux 移植到 windows。 将编码从 utf-8 更改为 windows-1250 没有帮助 event.keyval 报告波兰语字母的以下消息:

character_e = event.string UnicodeDecodeError:'utf-8' 编解码器无法解码位置 0 中的字节 0xb3:起始字节无效

该事件针对字符“ł”等,mingw64 将其解释为 utf-8 (?)

根据文档,event.keyval 不是 字符串或字符。 它是一个整数(准确地说是guint),见here.

您可能应该使用 GDK 函数 gdk_keyval_to_unicode 来转换它。在 Python 中应该是 Gdk.keyval_to_unicode。它需要一个参数;键值。 像这样:

character = Gdk.keyval_to_unicode(event.keyval)