Problema de Encoding
Mario Lacunza
mlacunza en gmail.com
Mar Sep 19 21:35:35 CEST 2006
Holas,
Trabajo con una base de datos Firebird la cual esta seteada con
Charset=ISO8859_1
En el parametro de conexion de Kinterbasdb lo mismo.
Todos mis archivo .py tienen en la cabecera:
# -*- coding: utf-8 -*-#
En uno de ellos obtengo un dato ingresado por el usuario de esta manera:
self.oClte.__class__.mNombre=self.txtClte.GetValue()
donde self.oClte es la instancia de la clase q maneja los datos y
mNombre la propiedad q "guarda" el dato obtenido desde el textcontrol.
El problema se da cuando el user escribe caracteres españoles, tales
como las ñ o acentos... sino ingreso estos la App graba normal los
datos.
Al pasarla a la clase de datos, donde se arma este sql:
sql="Insert into tblClientes(ID, CODIGO, NOMBRE, TIPODOC, NUMDOC,
DIRECCION, POSTAL,\
FONO1,FONO2,FAX, EMAIL, CELULAR, WEB, LINCREDITO)\
VALUES(GEN_ID(GEN_TBLCLIENTES_ID,1),\
'%s', '%s', %d, '%s', '%s','%s','%s','%s','%s','%s','%s','%s',%
d)"\
%(self.__class__.mCodigo, self.__class__.mNombre,
self.__class__.mTipoDoc, self.__class__.mNumDoc,\
self.__class__.mDireccion, self.__class__.mPostal,
self.__class__.mFono1,\
self.__class__.mFono2, self.__class__.mFax,
self.__class__.mEmail,\
self.__class__.mCelular, self.__class__.mWeb,
self.__class__.mLinCredito)
me da el sgte error:
exceptions.UnicodeEncodeError
lo cual al parecer es un error del Kinterbasdb, leyendo deduzco q mi app
debe pasarle los datos convertidos, pues al parecer los esta pasando en
ASCII, me he leido los correos de la lista de junio y recientes donde
tratan el tema, mas los de la lista en ingles y no llego a resolverlo.
Si alguien podria darme una guia, se lo agradecere.
--
Mario Lacunza <mlacunza en gmail.com>
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es
Más información sobre la lista de distribución Python-es