[Python-es] Error codificación carácteres

Luis Miguel Morillas morillas en gmail.com
Dom Feb 27 22:43:16 CET 2011


El día 27 de febrero de 2011 22:27, Jesús Genicio <jgenicio en gmail.com> escribió:
> El dom, 27-02-2011 a las 17:18 -0400, lopz escribió:
>> Yo suelo utilizar esto en las 2 primeras líneas de cualquier script
>>
>> #!/usr/bin/env python
>> # -*- coding: utf-8 -*-
>>
>> Espero que solucione tu problema ya que es debido a que estás usando
>> caracteres no unicode en tu script
>> quizá en comentarios o en print's, caracteres como la ñ o tildes.
>>
>> saludOS
>>
> Sigue igual:
>
> id ->TEF.MC
> Nombre_Valor-> Telefónica de España
> Traceback (most recent call last):
>  File "extraer_datos.py", line 85, in <module>
>    archivo_configuracion.write("set title '%s (%s)'\n" %
> ( Nombre_Valor, id,))
> UnicodeEncodeError: 'ascii' codec can't encode character u'\xf3' in
> position 16: ordinal not in range(128)
>
>
Tienes que codificar la cadena para escribir en ficheros o imprimir en
la pantalla.
Supongo que esto funcionará


archivo_configuracion.write("set title '%s (%s)'\n" %(
Nombre_Valor.encode('utf-8'),id,))

o también en dos pasos:

content = "set title '%s (%s)'\n" %( Nombre_Valor, id,)
archivo_configuracion.write(content.encode('utf-8'))

-- lm
> S2.
>> El día 27 de febrero de 2011 17:10, Jesús Genicio <jgenicio en gmail.com> escribió:
>> > El dom, 27-02-2011 a las 21:11 +0100, Oscar Carballal escribió:
>> >> Has declarado el script con alguna de estas codificaciones?
>> >> iso-8859-1, iso-8859-15, latin1
>> > No, no he declarado nada, lo miro y ya os cuento.
>> >
>> > Gracias.
>> >>
>> >> En caso de que no hayas declarado la codificacion del script,
>> >> cualquier letra con tilde, o eñe dará un error y provocará que el
>> >> script se detenga.
>> >>
>> >> El día 27 de febrero de 2011 19:44, Jesús Genicio <jgenicio en gmail.com> escribió:
>> >> > Hola a tod en s:
>> >> >
>> >> > Llevo tiempo buscando la solución y no soy capaz. El problema es este:
>> >> >
>> >> > BME.MC
>> >> > Bolsas y Mercados Españoles
>> >> > Traceback (most recent call last):
>> >> >  File "extraer_datos.py", line 80, in <module>
>> >> >    archivo_configuracion.write("set title '%s (%s)'\n"
>> >> > %( Nombre_Valor,id,))
>> >> > UnicodeEncodeError: 'ascii' codec can't encode character u'\xf1' in
>> >> > position 33: ordinal not in range(128)
>> >> >
>> >> > Los datos los saco de una base de datos y tiene el formato Español, con
>> >> > eñes y acentos, etc..
>> >> >
>> >> > Pero al ejecutar este script, me tira el error y separa. ¿Qué hago mal.?
>> >> >
>> >> >
>> >> > Gracias por vuestra ayuda.
>> >> >
>> >> >
>> >> >
>> >> >
>> >> > _______________________________________________
>> >> > Python-es mailing list
>> >> > Python-es en python.org
>> >> > http://mail.python.org/mailman/listinfo/python-es
>> >> > FAQ: http://python-es-faq.wikidot.com/
>> >> >
>> >> _______________________________________________
>> >> Python-es mailing list
>> >> Python-es en python.org
>> >> http://mail.python.org/mailman/listinfo/python-es
>> >> FAQ: http://python-es-faq.wikidot.com/
>> >
>> >
>> > _______________________________________________
>> > Python-es mailing list
>> > Python-es en python.org
>> > http://mail.python.org/mailman/listinfo/python-es
>> > FAQ: http://python-es-faq.wikidot.com/
>> >
>>
>>
>>
>
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>


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