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