Domanda

Il mio programma memorizza l'indice dei file nel file compresso da cPickle. Ci sono nomi di file non inglesi. Quando lo faccio e basta

print f [0]

dove f [0] è " \ 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; " in vista normale), stampa la stringa in modo corretto & # 8212; in russo.

Quando il programma aggiunge manualmente la stringa u '& # 1042; & # 1080; & # 1089; & # 1086; & # 1082; & # 1086; & # 1089; & # 1085; & # 1099; & # 1081; & # 1075; & # 1086; & # 1076;' a QTreeView, va tutto bene.

Ma quando il programma inserisce questa stringa (" \ xe3 \ xee \ xe4 " ecc.) direttamente dal file non selezionato a QTreeView, diventa così:

alt text http://img170.imageshack.us/img170/9226/encoding .png

C'è un modo per risolverlo?

È stato utile?

Soluzione

Hai eseguito decode sulla stringa non selezionata usando la codifica corretta ("quotpc5151" dall'aspetto di essa)? In caso contrario, devi farlo per assicurarti di passare una stringa Unicode alla GUI.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top