题
我的程序将文件索引存储在cPickle打包的文件中。有非英文文件名。 当我这样做时
print f [0]
其中f [0]是“\ xc2 \ xe8 \ xf1 \ xee \ xea \ xee \ xf1 \ xed \ xfb \ xe9 \ xe3 \ xee \ xe4" (正常视图中的“Високосныйгод”),它以正确的方式打印字符串 - 俄语。
当程序手动将字符串u'Високосныйгод'添加到QTreeView时,一切都很好。
但是当程序将这个字符串(“\ xe3 \ xee \ xe4”等)直接从unpickled文件放到QTreeView时,就会变成这样:
替代文字http://img170.imageshack.us/img170/9226/encoding .PNG
有什么方法可以解决这个问题吗?
解决方案
您是否使用正确的编码(“cp1251”看起来)在未打字的字符串上运行 decode
?如果没有,您需要这样做以确保您将Unicode字符串传递给GUI。
不隶属于 StackOverflow