[pyar] Problema con acentos en Sqlite y Python

craf pyclutter en gmail.com
Mar Abr 5 21:09:54 ART 2011


-----Mensaje original-----
De: Daniel Moisset <dmoisset en machinalis.com>
Para: Python Argentina <pyar en python.org.ar>
Cc: craf <pyclutter en gmail.com>
Asunto: Re: [pyar] Problema con acentos en Sqlite y Python
Fecha: Tue, 5 Apr 2011 20:33:32 -0300

2011/4/4 craf <pyclutter en gmail.com>:
> Hola.
>
> Buceando por Google me encuentro que es un problema bastante común lo de
> los acentos en Python. En general dan soluciones de utilizar encode y
> decode pero no he logrado hacerlo funcionar.
>
> Estoy probando Sqlite y quisiera guardar palabras con la letra ñ en la
> base de datos.
>
> El código para guardar en la base de datos es:
>
> #! /usr/bin/env python
> # -*- encoding: utf-8 -*-
>
> import sqlite3
>
>
> conn = sqlite3.connect('/mi_ruta/bdatos.db')
> c = conn.cursor()
> c.execute("""insert into ciudad values
>             (1, 'chañaral')""")
> conn.commit()
> c.close()
> ----------------------------------------------------
>
> El código para leer es el siguiente:
>
>
> #! /usr/bin/env python
> # -*- encoding: utf-8 -*-
>
> import sqlite3
>
> conn = sqlite3.connect('/mi_ruta/bdatos.db')
> c = conn.cursor()
> c.execute('select * from ciudad')
> for fila in c:
>    print fila
> c.close()
>
> Este código me entrega el siguiente resultado:
>
> (1,u'cha\xf1aral')
>

>che, una cosa más alla de todo lo que te dijeron

>El resultado que obtenes... es correcto! una cadena unicode que tiene
>(decodificado) lo mismo que vos pusiste al hacer el insert (lo pusiste
>encodeado en utf-8, pero probablemente sea el default de sqlite)

>Que esperabas obtener?

>Saludos,
>   D.

Hola Daniel.

Te cuento que encontré el problema (que no era tal). Como editor de
Texto utilizo Geany, el cual abre una ventana de terminal para mostrar
los resultados. Al ejecutar el scripts, la consulta no mostraba la ñ,
como
debería, así es que como estoy trabajando con Tkinter, corte por los
sano y probé cargando el resultado en un control Text. Santo remedio.

Muchas gracias por tu interés.

Saludos.

Cristian.





More information about the pyar mailing list