[pyar] Codecs, UTF-8

fisa fisadev en gmail.com
Sab Oct 9 16:27:37 ART 2010


El día 9 de octubre de 2010 16:26, fisa <fisadev en gmail.com> escribió:
> El día 9 de octubre de 2010 15:00, Martin Cerdeira
> <martincerdeira en gmail.com> escribió:
>> 2010/10/9 Andrés Gattinoni <andresgattinoni en gmail.com>:
>>> 2010/10/9 Martin Cerdeira <martincerdeira en gmail.com>:
>>>> Tengo un script donde, el código más relevante es este:
>>>>
>>>> # -*- coding: utf-8 -*-
>>>>
>>>> open(fname).read()
>>>>
>>>> Con él, abro un archivo html y, recibo este error:
>>>>
>>>> UnicodeDecodeError: 'ascii' codec can't decode byte 0xf3 in position 24: ordinal
>>>>  not in range(128)
>>>>
>>>> Entonces, cambio el read:
>>>>
>>>> codecs.open(fname, "r", "utf-8" ).read()
>>>>
>>>> UnicodeDecodeError: 'ascii' codec can't decode byte 0xf3 in position 24: ordinal
>>>>  not in range(128)
>>>>
>>>> Qué estoy pifiando?
>>>
>>> Estás seguro que el error es con el archivo que intentás leer y no con
>>> algún caracter raro (no imprimible) que pueda tener tu script?
>>> Si comentás la línea del read() te tira el mismo error?
>>>
>>> Otra, por las dudas, fijate con:
>>>
>>> file -i <tuarchivo.html>
>>>
>>> Para asegurarte que no tenga un encoding raro.
>>> _______________________________________________
>>> pyar mailing list pyar en python.org.ar
>>> http://listas.python.org.ar/listinfo/pyar
>>>
>>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>>
>>
>> mrt en deb01:~/Libros/Structure and Interpretation$ file -i book.html
>> book.html: text/html
>>
>> Igualmente, el error está (como decía Roberto) en que yo creí que
>>
>> codecs.open(fname, "r", "utf-8" ).read()
>>
>> te convertía el file a utf-8 (cosa que no)
>>
>> Lo que no me queda claro es si hay una forma *universal* de decirle
>> que abra el archivo, tenga la codificación que tenga y que lo
>> convierta y muestre como pueda.
>>
>> Esto de las codificaciones me rompe soberanamente, pero, es algo que
>> todo programador no puede ignorar[0] =)
>>
>>
>> [0] http://www.joelonsoftware.com/articles/Unicode.html
>
> Fijate si no te sirve esto para detectar el encoding del archivo:
>
> http://chardet.feedparser.org/
>

bueno, roberto me ganó de mano, es lo mismo que te puso el, jeje


-- 
fisa  -  Juan Pedro Fisanotti



More information about the pyar mailing list