[Python-es] encoding utf 8 py2exe 6.9 python 2.7

Chema Cortes pych3m4 en gmail.com
Jue Mar 15 09:38:44 CET 2012


El día 15 de marzo de 2012 03:27, mauricio rodriguez
<rodriguez.mauricio55 en gmail.com> escribió:
> He seguido la documentación oficial y nada probe cuanta cosa encontré en la
> red y nada
>
> los script tienen su correspondiente encabezado #-*encoding utf 8-*
>
> ya probé con las diferentes opciones que aparecen en
>
> http://www.py2exe.org/index.cgi/EncodingsAgain
> http://www.py2exe.org/index.cgi/EvenMoreEncodings
>
> y otras tantas que aparecen aquí mismo en la lista y en la lista en ingles
>
> el asunto es que nada funciona los acentos y ñ no los reconoce.
>
> Aclarar que el script cuando lo corro desde  cmd se ve bien
>
> al parecer nada se ajusta a la versión 6.9 de py2exe
>
> alguien sabe como resolver esto ?


Es un tema muy manido. Insistir una vez más que no es un problema de
python. Con toda probabilidad el problema lo tienes por otro sitio.

Cosas a tener en cuenta:

1) la cabecera "encoding" sólo sirve para indicar al intérprete la
codificación que usa el fichero de texto para codificar las cadenas
literales unicode. ¿Tienes bien identificadas las cadenas con el
prefijo u".."?¿El fichero de texto está realmente en codificación
utf-8? Para usar unicode, no es importante qué codifcación usa el
fichero siempre que la cabecera lo indique correctamente.

2) cuando creas el ejecutable, asegúrate que en el setup estás creando
un ejecutable de "cónsola" (console). Durante la creación del
ejecutable fíjate en que se esté incluyendo el paquete "encoding" (que
es lo normal, no es necesario forzarlo como se indica en los enlaces
que has puesto).

3) Haz pruebas con otros caracteres unicode que no sean cp850 ni
latin1 (por ejemplo u"\N{EURO SIGN}" (latin0))

4) Y lo más importante: la cónsola windows tiene un penoso soporte
para utf-8. Lo más aproximado es usar alguna codificación como la
cp1252 que SIEMPRE tienes que cambiar antes de ejecutar la aplicación
('CHCP 1252'). Esta codificación es muy limitada frente a utf-8, pero
al menos verás los acentos y otros caracteres castellanos.



-- 
Hyperreals *R: http://ch3m4.org/blog
Quarks, bits y otras criaturas infinitesimales


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