PyQt中的编码问题
我的程序把文件索引存储在用cPickle打包的文件里,里面有一些非英语的文件名。
当我这样做的时候
print f [0]
这里的 f [0] 是 "\xc2\xe8\xf1\xee\xba\xee\xf1\xed\xfb\xe9 \xe3\xee\xe4"(在正常显示下是“Високосный год”,意思是“闰年”),它能正确地以俄语显示字符串。
当程序手动把字符串 u'Високосный год' 加入到 QTreeView 时,一切都很好。
但是当程序直接把这个字符串("\xe3\xee\xe4" 等等)从解包的文件放到 QTreeView 时,它就变成了这样:
查看图片 http://img170.imageshack.us/img170/9226/encoding.png
有没有什么办法可以解决这个问题?
1 个回答
2
你有没有用正确的编码(看起来是“cp1251”)对未解压的字符串运行过decode
?如果没有,你需要这样做,以确保你传递给图形界面的字符串是Unicode格式的。