Question

Mon programme stocke l'index de fichier dans un fichier compressé par cPickle. Il existe des noms de fichiers non anglais. Quand je viens de faire cela

print f [0]

où f [0] est "\ xc2 \ xe8 \ xf1 \ xee \ xea \ xee \ xf1 \ xed \ xfb \ xe9 \ xe3 \ xee \ xe4" (& & # 1042; & # 1080; & # 1089; & # 1086; & # 1082; & # 1086; & # 1089; & # 1085; & # 1099; & # 1081; & # 1075; & # 1086 ; & # 1076; "en mode normal), il imprime la chaîne de manière appropriée & # 8212; en russe.

Lorsque le programme ajoute manuellement la chaîne u '& # 1042; & # 1080; & # 1089; & # 1086; & # 1086; & # 1086; & # 1089; & # 1085; & # 1099; & ### 1081; & # 1075; & # 1086; & # 1076; ' sur QTreeView, tout va bien.

Mais lorsque le programme place cette chaîne (" \ xe3 \ xee \ xe4 \ "etc.) directement d'un fichier non-pické à QTreeView, cela devient comme ça:

texte de remplacement http://img170.imageshack.us/img170/9226/encoding .png

Y a-t-il un moyen de résoudre ce problème?

Était-ce utile?

La solution

Avez-vous exécuté decode sur la chaîne non triée en utilisant le codage correct ("cp1251" d'après l'apparence de celle-ci)? Sinon, vous devez vous assurer que vous transmettez une chaîne Unicode à l'interface graphique.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top