[pyar] Codecs, UTF-8
Facundo Batista
facundobatista en gmail.com
Mie Oct 13 09:02:31 ART 2010
2010/10/12 Martin Cerdeira <martincerdeira en gmail.com>:
> E:\HOME\Python\Qt\Html>main.py
> Traceback (most recent call last):
> File "E:\HOME\Python\Qt\Html\main.py", line 22, in on_FileOpen_triggered
> self.web.setHtml(codecs.open(fname, "r", "utf-8" ).read())
> File "C:\Python26\lib\codecs.py", line 865, in open
> file = __builtin__.open(filename, mode, buffering)
> UnicodeDecodeError: 'ascii' codec can't decode byte 0xf3 in position 24: ordinal
> not in range(128)
>
> Ahora, a raiz de que me dijiste que era imposible que diera el error
> con el open, me puse a ver otras cosas y, noté algo que no había
> notado. El path al archivo tiene un tilde. Es decir:
El open es imposible que te de un error. El codecs.open sí puede,
porque está haciendo una conversión.
¿Estás seguro que ese archivo que estás queriendo abrir está en UTF8?
> # -*- coding: utf-8 -*-
Deberías saber qué encoding poner ahí, y no empezar a cambiarlos hasta
que algo funcione. El encoding que tenés que poner ahí es el que está
usando tu procesador de texto.
Si es vim, poné ":set encoding" y te va a decir qué estás usando.
> string = "ñandú"
Nunca pongas caracteres no-ASCII en strings no-Unicode. Poné así:
string = u"ñandú"
Slds.
--
. Facundo
Blog: http://www.taniquetil.com.ar/plog/
PyAr: http://www.python.org/ar/
More information about the pyar
mailing list