Personalmente el soporte de unicode en Python anterior a Python 3, siendo finos, es una puta mierda. Casi prefiero el soporte que tiene PHP 5.x de unicode (cero patatero).
Sinceramente es para volverse loco, porque cosas que a priori van, luego petan, o realmente no petan, sólo petan cuando intentas mostrarlas por la consola haciendo print…
En fin, que tratando de solucionar mis frustraciones con python y el unicode, he encontrado el siguiente enlace:
Overcoming unicode frustrations in Python 2
El enlace anterior es lectura obligada para cualquiera que de vez en cuando le salte una excepción tipo UnicodeEncodeError, como:
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe1' in position 654: ordinal not in range(128) |
Finalmente, mi esperanza es que en Python 3 todo esto se solucione, y a juzgar por lo que he ido leyendo parece que si… pero ¡habrá que ver para creer!
English
21/09/2010 at 11:33 pm Permalink
Si, es muy frustrante
Mi preferido es usar pypgsql, y en los errores recibir una excepción (bien), pero como los mensajes de error están en castellano, al meter la información del error en logging… petar con un error unicode.
Demencial!
22/09/2010 at 12:52 pm Permalink
Es una locura. Como he dicho, espero que Python 3 tenga ya solucionado esto.