[pyar] guardar correctamente acéntos entre Python y MySQL

Moises Rangel moises.rangel en gmail.com
Mie Dic 23 21:02:08 ART 2015


Gracias por la pronta respuesta, lo que obtengo de la consulta:

'utf8', 'utf8_unicode_ci'

verifiqué la tabla y también está en utf8, por otro lado, estoy
haciendo mas pruebas:

1. Si ejecuto un insert directo en la base de datos

*   INSERT INTO tweets(ProfileID, twitter_id, Text) VALUES(1,1,'áé')**
  Lo hace de manera correcta*

2. Descarté Skylark (el orm) y decidí probar el mismo query directo con Mysqldb:
    *con = mdb.connect('localhost', 'root', 'pwd', 'database');
        with con:
            cur = con.cursor()
            cur.execute("INSERT INTO tweets(ProfileID, twitter_id,
Text) VALUES(1,1,'áé')")*

*     El resultado el campo Text es: **áé, es decir lo hace de
manera incorrecta.*

*Deduzco que es un problema directo de mysqldb, pero sigo sin poder
dar que sea. *

*Saludos,*

*Moi*




El 23 de diciembre de 2015, 16:08, Mauricio Baeza <listas en mauriciobaeza.net>
escribió:

>
>
> On 12/23/2015 02:19 PM, Moises Rangel wrote:
>
> Hola lista,
>
> Un saludo a todos y felicitaciones por la lista, soy un lector asiduo,
> pero esta vez tengo un dolor de cabeza  tratando de guardar acéntos desde
> python a MySQL, les platico
>
> Estoy usando:
>
>    - Python 2.7
>    - Skylark que detrás usa Mysqldb
>
> Cuándo trato de guardar algo como:
>
>    "era tan necesario en mi vida que no *sé* como interpretarlo."
>
> en MySQL se guarda algo como:
>
>    "era tan necesario en mi vida que no *sé *como interpretarlo."
>
> sí guardo el texto directamente en una varible "normal" el cliente me
> manda un error "*UnicodeEncodeError: 'latin-1' codec can't encode
> character u'\u2026' in position 139: ordinal not in range(256)*
> "
>
> por lo intento hacerlo de la siguiente manera:
>
> * u''.join("era tan necesario en mi vida que no sé como
> interpretarlo.").encode('utf-8').strip()*
>
>
> pero con el resultado antes mencionado.
>
> Ojalá alguien me pueda tirar una cuerda con tema y de antemano muchas
> gracias.
>
> Saludos desde México,
> Moi
>
>
> Hola...
>
> Si haces:
>
> SELECT DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME
> FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'db_name';
>
> ¿que obtienes?
>
> El siguiente código funcionó correctamente:
> https://gist.github.com/mauriciobaeza/3c7ea051b405305f913b
>
> Nunca había usado skylark, si es micro ORM, prefiero Peewee:
> https://github.com/coleifer/peewee
>
>
> Saludos
>
>
> --
> _______________________________________
> Todo lo que no podemos dar nos posee...
>
>
> _______________________________________________
> 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/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>



-- 
____________________
Moisés Rangel Narváez
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20151223/ae232402/attachment-0001.html>


Más información sobre la lista de distribución pyar