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



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

character_e=事件字符串UnicodeDecodeError:"utf-8"编解码器无法解码位置0中的字节0xb3:无效的起始字节

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

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

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

character = Gdk.keyval_to_unicode(event.keyval)

最新更新