[pyar] problemas con el encoding

Roberto Alsina ralsina en netmanagers.com.ar
Jue Oct 21 12:36:47 ART 2010


On Thursday 21 October 2010 12:28:53 you wrote:
> On Thursday 21 October 2010 11:18:32 Mario Cassanelli wrote:
> > estimado, lo tuyo es que no has leido mi mensaje,
> >
> >  mande lo que tengo en la tabla,
> >  lo que muestra python y al insertar un registro
> >  en la tabla de postgresql se produce un mensaje que tambien
> >  esta en el mail que mande.
> 
> Fijate lo que te pregunto.
> 
> Vos pones en tu mensaje:
> 
> """el problema ocurre al insertar el registro
> 
> con.query(inserto)"""
> 
> Bueno, dependiendo de qué es esa variable inserto te va a producir cosas 
> distintas, dependiendo de qué espere con.query que le pases.
> 
> Por ejemplo, si con.query espera que le pases los datos como un string 
> encodeado con el encoding correcto, necesitás que inserto sea un string
> (en  python 2.x) o bytes (en python 3.x) con encoding utf-8.
> 
> Si query hace el encoding por su cuenta, necesita que le pases un objeto 
> unicode (en python 2.x) o un string (en python 3.x)
> 
> No es una pregunta ociosa, realmente es necesaria para saber que pasa.


Ahhhhh mea culpa! No habia visto el programa en la posdata.

Entonces me respondo a mi mismo: inserto es un string de ython 2.x con 
probablemente encoding utf-8 pero no es seguro.

Te recomiendo usar objetos unicode en tu programa siempre que puedas.

Porqué? Porque si no, no hay manera de saber a ciencia cierta que es esa 
variable inserto. Fijate que la armás en base a algo que sacás del dbf.

Si lo que está en el dbf no es UTF-8, inserto no es UTF-8.



More information about the pyar mailing list