problema de encoding con sqlite
Jaime Ibar
jim2k7 en gmail.com
Jue Mar 6 09:57:40 CET 2008
Hola, podrías probar de esta forma, a mi me pasaba lo mismo en una
bbdd MySQL, y con esto las 'ñ', acentos... se muestran bien.
def lstr(s):
return unicode(s, 'utf-8')
El día 5/03/08, Luis Solis <solisgb en gmail.com> escribió:
>
> Muy buenas
>
> con python 2.4 y pysqlite2
>
> inserto varios nombres en el campo nombre de una tabla, algunos de los
> cuales tienen caracteres no utf-8
>
> las filas se insertan bien y de hecho las puedo ver haciendo un select
> dentro de, por ejemplo, sqlite administrator
>
> pero al hacer el select me encuentro siempre con el mensaje
>
> OperationalError: Could not decode to UTF-8 column 'nombre' with text
> 'PÉREZ', por ejemplo
>
> el problema lo he tratado de solucionar de varias maneras, sin
> conseguirlo:
>
> rows=con.cur.fetchall().encode('latin1'), se mantiene el mensaje
>
> o creando una función del tipo
> def lstr(s):
> return s.encode('latin1')
>
> que si la llamo dentro del select como cur.execute("select lstr(nombre)")
> me encuentro que cuando nombre es PÉREZ (o MARÍA..) a lstr llega None
>
> bueno, que no se como meterle mano, más que quitar los no UTF-8 a la BDD
>
> a ver si alguien se anima!
>
>
> --
> Luis Solís
> _______________________________________________
> Lista de correo Python-es
> http://listas.aditel.org/listinfo/python-es
> FAQ: http://listas.aditel.org/faqpyes
>
--
salu2
Jaime
------------ próxima parte ------------
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
Más información sobre la lista de distribución Python-es