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

Bruno Kámiche bkamiche en gmail.com
Mie Dic 23 21:08:03 ART 2015


Prueba enviar el comando

SET NAMES UTF8;

Antes del insert y vuelve a probar.


2015-12-23 19:02 GMT-05:00 Moises Rangel <moises.rangel en gmail.com>:

> 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
>
> _______________________________________________
> 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
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20151223/cceb193f/attachment.html>


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