[Lazarus-es] Fw: Salvar cadena UTF8 en Firebird conCharacterset ISO8859_1

Ismael L. Donis Garc?a ismael en citricos.co.cu
Mie Dic 16 17:03:53 CET 2009


Precisamente ese el error que me da a mi cuando pongo CharSet = UTF8 al 
actualizar con Firebird 2.1.3 si lo pongo de la siguiente forma:

'update mpdatge set mpdatge.clave=''' + dtm.setlogin(txtcont.Text) + ''' 
where ((mpdatge.entidad)=''' + strentidad + ''')';

Y si lo pongo de la siguiente forma me da string malformado:

'update mpdatge set mpdatge.clave=''' + 
UTF8ToAnsi(dtm.setlogin(txtcont.Text)) + ''' where ((mpdatge.entidad)=''' + 
strentidad + ''')';

Sin embargo si uso CharSet = ISO8859_1 no me da el error y salva bien los 
datos.

Saludos Reiterados
=========
¦¦ ISMAEL ¦¦
=========
----- Mensaje original ----- 
De: "JoshyFun" <joshyfun en gmail.com>
Para: "Spanish version of Lazarus List" 
<lazarus-es en lists.lazarus.freepascal.org>
Enviado: martes, 15 de diciembre de 2009 03:37
Asunto: Re: [Lazarus-es] Fw: Salvar cadena UTF8 en Firebird conCharacterset 
ISO8859_1


Hello Jesus,

Tuesday, December 15, 2009, 8:44:34 PM, you wrote:

JR> ¿Por que da la impresion de que funciona?, simplemente, a
JR> excepcion de unos cuantos caracteres (ver tabla ISO8859_1) todos
JR> los demas son validos en ese encoding. es decir que probablemente
JR> cualquier cadena UTF-8 es valida en ISO8859_1. Con esto en mente
JR> si en tu base de datos defines un campo como Char(1), y quieres
JR> introducir una cadena UTF-8 como  'á' ahi, claro que no va a
JR> caber, pues la cadena UTF-8 'á' ocupa 2 caracteres.

Justamente eso me ha recordado un bug que quería revisar en el SQLDb y
que al final se me pasó. El problema era:

Database:
Campo VarChar(10) ISO88591

Programa
Query.FieldByName('Campo').AsString='áááááááááá';

Eso antes daba ese error (String Truncation) cuando en realidad no lo
hay, eso si no recuerdo ahora si era en FireBird 1.5 o en SQLDb :-?
Cuando me pase por la máquina de desarrollo lo pruebo, ya que allí
tengo un FireBird 1.5 y un 2.5.

-- 
Best regards,
 JoshyFun


_______________________________________________
Lazarus-es mailing list
Lazarus-es en lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es






More information about the Lazarus-es mailing list