Tengo un problema con el unicode ...

Josu Oyanguren josu.oyng en gmail.com
Lun Ene 23 11:25:44 CET 2006


... que no sé resolver.

Hola a todos,

En una instalación nueva de Ubuntu 5.10, me he encontrado con problemas con
las codificaciones unicode. Después de darle unas cuantas vueltas lo he
reducido a lo siguiente:

Cuando ejecuto python sin argumentos, se pone en una codificación latin-1 (o
parecida):

josu en trueba:~$ python
Python 2.4.2 (#2, Sep 30 2005, 21:19:01)
[GCC 4.0.2 20050808 (prerelease) (Ubuntu 4.0.1-4ubuntu8)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> print(repr(u'órdigas'))
u'\xf3rdigas'

En cambio, si ejecuto con -c, la codificación es utf-8 (que es la que yo
creo que debería tener)

josu en trueba:~$ python -c "print(repr(u'órdigas'))"
u'\xc3\xb3rdigas'

Y para finalizar, rizando el rizo:

josu en trueba:~$ python -i -c "print(repr(u'órdigas'))"
u'\xc3\xb3rdigas'
>>> print(repr(u'órdigas'))
u'\xf3rdigas'

(aquí ya tuve que recoger la mandíbula del suelo).

No he tocado el site.py, ni tengo un sitecustomize.py ni nada por el
estilo.  De hecho no he tocado nada de la instalación.

El problema fundamental de esto es que tengo mis módulos codificados en
utf-8 y no me está haciendo mucho caso. El locale está puesto a utf-8 (de
hecho está fue una de las razones para instalar Ubuntu)

Python 2.4.2 (#2, Sep 30 2005, 21:19:01)
[GCC 4.0.2 20050808 (prerelease) (Ubuntu 4.0.1-4ubuntu8)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import locale
>>> locale.getdefaultlocale()
('es_ES', 'utf-8')
>>>


¿Alguien puede darme alguna pista?

Gracias por adelantado,

Josu.




Más información sobre la lista de distribución Python-es