En las líneas que te da el fallo:

               (*)linea=unicode(linea)
               (*)nombre=unicode(nombre)

estás pidiéndole a Python que convierta "linea" y "nombre", que son
cadenas normales (asumimos que esto es Python2.x, claro) en cadenas de
tipo Unicode. Hay un problema aquí y es que claro, Python no sabe qué
codificación tienen las cadenas originales y lo que hará es usar la
codificación por defecto (que es lo que has modificado en el paquete
"site").

Pero lo puedes especificar:

  CODIFICACION="iso-8859-1"
  [...]
               linea=unicode(linea, CODIFICACION)
               nombre=unicode(nombre, CODIFICACION)
  [...]

haciendo eso debería de desaparecer el error.



2013/10/21 Fernando Garcia <riell...@gmail.com>:
> Cierto, he cambiado la configuración por defecto de Python, incluyendo en la
> carpeta site.packages un archivo donde se cambia la codificación por defecto
> de asciia iso-8859-1. Es la única manera que conozco de que el programa me
> admita incluir acentos en las búsquedas. Si conoces alguna otra forma, por
> favor indícamelo y de esa forma podré restituir la configuración a su estado
> inicial, sin merma de su eficacia. Gracias
>
>
> El 21 de octubre de 2013 10:53, Ricardo Cárdenes
> <ricardo.carde...@gmail.com> escribió:
>
>> El mensaje concreto que indicas es clásico, no de los .EXE en sí, sino
>> de la configuración de Python. Si te dice que blahblah es un ordinal
>> que no está en ASCII al convertirlo en .EXE, pero no al ejecutarlo en
>> tu Python normal, es bastante probable que hayas modificado el site.py
>> de tu máquina para que la codificación por defecto sea otra que no la
>> ASCII. Y también muy probable que al construir el .EXE, éste no se
>> lleve una copia de tu site.py (lógico, por otra parte), así que ese
>> cambio no queda reflejado.
>>
>> Si ése es el caso, hay dos maneras de corregirlo: la complicada pero
>> *recomendada*, que es poner tu site.py de vuelta como estaba y
>> corregir el programa para que funcione correctamente en cualquier
>> entorno. La sencilla pero *chapuza* es buscar la manera (no la
>> conozco) de que el site.py (o equivalente) que va en el .EXE vaya
>> modificado... o cambiarlo al vuelo al arrancar el programa, pero creo
>> que para ese momento ya es tarde.
>>
>> Saludos,
>> Ricardo
>>
>> 2013/10/20 Guillermo Vaya <nada...@gmail.com>:
>> > Creo que sería más fácil ayudarte si pegas el trozo de código donde se
>> > genera el error (Con la cantidad suficiente como para poder ver donde
>> > inicializas cosas y tal) o un ejemplo pequeño que reproduzca el mismo
>> > error.
>> > Te recomiendo usar algún tipo de pastebin, para facilitar la lectura de
>> > código.
>> >
>> > Además, deberías pegar el error concreto, que no cuesta mucho y da más
>> > información.
>> >
>> > Un saludo
>> >
>> >
>> > 2013/10/20 Fernando Garcia <riell...@gmail.com>
>> >>
>> >> Estoy escribiendo una aplicación para gestionar una base de datos con
>> >> el
>> >> personal de una empresa.
>> >> Para conseguir que la búsqueda en la bd sea indiferente a mayúsculas y
>> >> acentos (lo que se llama normalizar texto, vamos) debo convertir cada
>> >> linea
>> >> de string a unicode. Haciéndolo así, la aplicación funciona
>> >> correctamente,
>> >> ningún problema... siempre que se ejecute desde el código fuente. Desde
>> >> el
>> >> intérprete de python, vamos.
>> >> Pero cuando convierto la aplicación a un ejecutable .exe para su
>> >> distribución, me da un error, localizado en la linea donde convierto la
>> >> bd a
>> >> unicode: el típico ordinal not i  range, etc, etc...
>> >> ¿Alguien sabe porqué ocurre esto y como se puede solucionar?
>> >>
>> >>
>> >> _______________________________________________
>> >> Python-es mailing list
>> >> Python-es@python.org
>> >> https://mail.python.org/mailman/listinfo/python-es
>> >> FAQ: http://python-es-faq.wikidot.com/
>> >>
>> >
>> >
>> > _______________________________________________
>> > Python-es mailing list
>> > Python-es@python.org
>> > https://mail.python.org/mailman/listinfo/python-es
>> > FAQ: http://python-es-faq.wikidot.com/
>> >
>> _______________________________________________
>> Python-es mailing list
>> Python-es@python.org
>> https://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>
>
>
> _______________________________________________
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a