Problemas de codificación en PyQt
Pregunta
Mi programa almacena el índice del archivo en un archivo empaquetado por cPickle. Hay nombres de archivo que no están en inglés. Cuando acabo de hacer esto
print f [0]
donde f [0] es " \ xc2 \ xe8 \ xf1 \ xee \ xea \ xee \ xf1 \ xed \ xfb \ xe9 \ xe3 \ xee \ xe4 " (" ?????????? ??? " en vista normal), imprime la cadena de forma adecuada, en ruso.
Cuando el programa agrega manualmente la cadena u'?????????? ??? 'a QTreeView, todo está bien.
Pero cuando el programa coloca esta cadena (" \ xe3 \ xee \ xe4 " etc.) directamente desde el archivo sin pinchar a QTreeView, se vuelve así:
texto alternativo http://img170.imageshack.us/img170/9226/encoding .png
¿Hay alguna forma de resolver eso?
Solución
¿Ha ejecutado decode
en la cadena sin pinchar utilizando la codificación correcta (& c; cp1251 " por lo que parece)? De lo contrario, debe hacer esto para asegurarse de pasar una cadena Unicode a la GUI.