[Lazarus-es] Error al leer charset ISO8859_1 en Firebird 2.1.3con Lazarus

Ismael L. Donis Garc?a ismael en citricos.co.cu
Mie Dic 2 18:43:51 CET 2009


Para mi no he tenido problemas con visual basic 6 usando charset ISO8859_1, 
lo cual te permite todo eso, uso esa colección con COLLATE ES_ES_CI_AI para 
que no diferencie entre mayúsculas y minúsculas y las letras acentuadas de 
la no acentuadas.

Con esa configuración nunca he tenido problemas ni con servidores Windows, 
ni con servidores Debian, pero repito usando Visual Basic 6 Service Pack 6

Ahora aunque antes no le respondí a JoshyFun no estoy de acuerdo con su 
ponto de vista de que la propiedad CharSet del componente TIBConnection esté 
bien implementada ya que yo implemento una propiedad para poderle pasar 
valores y si el valor siempre va a ser UTF8 sin importar la configuración de 
la base de datos para que está entonces dicha propiedad, si en todo caso 
tuviera 2 propiedades CharSet, una para mostrar los datos y la otra para 
leer los datos, entonces la cosa fuera diferente porque en una pondrías UTF8 
que sería con la configuración que se mostrarían los datos y en la otra 
pondrías la que tiene la base de datos, por lo que el componente entonces 
tendría que tener un procedimiento implementado encargado de realizar las 
conversiones tanto a la hora de consultar los datos como a la hora de 
actualizar los mismos.

Y espero que con este comentario no se ofenda JoshyFun ya que es mi simple 
opinión, y aunque soy un especialista, no lo soy en Object Pascal en sí, 
sino en otros lenguajes.

Saludos afectuosos a todos
=========
¦¦ ISMAEL ¦¦
=========
----- Mensaje original ----- 
De: "Paola Bruccoleri" <pbruccoleri en adinet.com.uy>
Para: "Spanish version of Lazarus List" 
<lazarus-es en lists.lazarus.freepascal.org>
Enviado: miércoles, 02 de diciembre de 2009 07:53
Asunto: Re: [Lazarus-es] Error al leer charset ISO8859_1 en Firebird 
2.1.3con Lazarus


JoshyFun escribió:
> No debería (todo hay que probarlo). Lo que pasa es que estás
> entendiendo mal lo que hace el "charset". Este indica en que "idioma"
> se va a realizar la transferencia de datos entre firebird y la
> aplicación, esto es (resumiendo):
>
> 1) NONE : No hay conversión de ningún tipo, la aplicación recibe los
> datos tal y como están almacenados en la base de datos. Si un campo es
> ISO8559-1 recibirás un 8559-1, si es un ASCII, pues ASCII, si es otra
> cosa, pues otra cosa.
> 2) ISO8559-1 (win1252) : La información de todos los campos se
> recibirá en ISO8559-1, si el campo contiene algún carácter no
> disponible en ISO8559-1 se producirá una excepción ya que se
> produciría pérdida de información.
>
> 3) UTF-8 : Toda la información de campos será recibida en UTF-8, esto
> es, si un campo está definido como ISO8559-1 será convertido a UTF-8 y
> enviado a la aplicación.
>
> Por supuesto, la conversión es bidireccional, si envias en UTF-8 algo
> que no se puede almacenar en un campo ISO8559-1 se producirá la
> excepción igualmente.
>
>
Hola Joshy..
siguiendo este hilo, me puse a hacer pruebas creando una nueva base de
datos firebird 2.1, usando IBExpert.
Si la creo con el charset UTF8, agrego una tabla cualquiera (campos
codigo, nombre) y le agrego datos, NO me permite ingresar nombres con
tildes.
Ahora, si creo la base de datos dejando el charset en NONE, creo una
tabla cualquiera y la cargo con datos, no tengo problemas con tildes.
Supongo que con el character ser 8859-1 no habrá problemas..
entonces, cuando creo una bd, que charset sería el que me causaría luego
menos problemas con los clientes que use?
chauuuuuuuuu



_______________________________________________
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