[pyar] Problema con acentos en Sqlite y Python

Daniel Moisset dmoisset en machinalis.com
Mar Abr 5 20:33:32 ART 2011


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.



More information about the pyar mailing list