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

Claudio Romero clauslack en gmail.com
Mie Dic 16 12:42:49 CET 2009


En mi caso uso todo UTF8, en Firebird se graba UTF8, entonces para
leer y guardar desde la base no hago conversiones.

Funciona incluso si creas la base Firebird con charset NONE.

Las conversiones solo las necesito si exporto datos a windows (ansi) o
algo asi. Pero no para el trabajo diario.

Saludos
2009/12/16 Walter Mesón <wmeson en gmail.com>:
> Hola...
> Bueno, después de tanto leer y aprender, y así poder encontrar la solución a
> un problema que me venía quemando la cabeza, ( aunque lo tenía en Delphi 7
> ), mi pregunta (tonta, ingenua, tal vez inútil y hasta obvia) es, para
> preparar un sistema que usará Firebird (v. 2.1 por ahora) y que manejará
> letras acentuadas y "raras" como la ñ o la ö o algo por el estilo, ¿que me
> recomiendan...con que charset definir las tablas de firebird con campos
> varchar, por ej., y el TIConnection o cualquier componente que cumpla la
> misma tarea ?.Estoy por encarar un mini proyecto que trabajará con esos
> caracteres y como dice Jesús, no quiero trabajar de más ni renegar.
>
> Muchas gracias por el aporte.
>
>> 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.
>>
> --
>
> Saludos.
>
> * Walter *
>
> Visitá http://porlavueltadenelsonyfabri.blogspot.com
>
> _______________________________________________
> 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