[Lazarus-es] Error al leer charset ISO8859_1 enFirebird2.1.3con Lazarus

Ismael L. Donis Garc?a ismael en citricos.co.cu
Mie Dic 2 21:59:42 CET 2009


Te expuse el caso de Firebird que es la base de datos que habíamos hablado, 
de antemano se que los collate no son estándares, sino especificaciones de 
Firebird.

Además mencioné ISO8859_1, no ISO8559_1 y WIN1251 <> ISO8859_1 ya que 
WIN1251 no soporta ñ ni acentos ya que es el estándar americano pero el 
ISO8859_1 si.

Se de antemano que idioma ruso no soportará ISO8859_1, por eso dije que el 
UTF8 lo soporta todo, por eso uno escoge el que deseemos el que le permita 
trabajar de acuerdo a sus necesidades, en mi caso no haré nada ni para los 
rusos, ni para lo chinos.

Solo le trataba de dar una explicación mayor a Paola y decirle que nunca 
debe usar CharSet = NONE, ya que eso le puede traer problemas en un futuro 
si quiere convertir la base de datos posteriormente a un conjunto de 
caracteres determinado.

Saludos afectuosos
=========
¦¦ ISMAEL ¦¦
=========
"Oír o leer sin reflexionar es una ocupación inútil".
               Confucio (551-479 a. C.); filósofo chino.

----- Mensaje original ----- 
De: "JoshyFun" <joshyfun en gmail.com>
Para: "Spanish version of Lazarus List" 
<lazarus-es en lists.lazarus.freepascal.org>
Enviado: miércoles, 02 de diciembre de 2009 12:41
Asunto: Re: [Lazarus-es] Error al leer charset ISO8859_1 enFirebird2.1.3con 
Lazarus


Hello Ismael,

Wednesday, December 2, 2009, 7:04:03 PM, you wrote:

ILDG> Problema:
ILDG> No todos los conectores lo permitir por ser este relativamente nuevo.

Hmmmm... que conector no soporta UTF-8 o UTF-16 ? Me imagino que
Paradox o dBase no, pero el resto...

ILDG> Solución:
ILDG> Implementar en C tu propia clase de conexión, cuestión
ILDG> esta que no todos estamos dispuestos a realizar ya que es mejor
ILDG> utilizar las existentes.

Por qué en C ?

ILDG> Ahora respecto a la norma europea ISO8859 la misma tiene
ILDG> especificaciones para muchos tipos de idiomas, y a la ves cada
ILDG> una de ellas tiene también especificaciones.

La ISO8559-1 es una y sólo una, lo que muestras abajo con "collates" o
lo que es lo mismo, preferencias de caracteres. La ISO8859-1 define
que valor absoluto tiene cada letra y su representación gráfica, pero
no su comportamiento, por ejemplo no dice que #49 es igual a la
representación gráfica "1" pero no nos dice que es un número, ni que
va antes del "2" en una ordenación.

ILDG> Por ejemplo en Firebird la subnorma ISO8859_1 tiene
ILDG> collation DA_DA
ILDG> collation DE_DE
ILDG> collation EN_UK
ILDG> collation EN_US
ILDG> collation ES_ES
ILDG> collation PT_BR
ILDG> collation PT_PT
ILDG> collation FR_FR    talvez se me quede alguna más

Te quedan todas las que quieras :) Los Collation no son standard 100%,
de hecho podría tener una para mi que sería "ES_ES_GL" = "España,
Español, Galicia" en el que la "í" en vez de ir justo después de la
"i" fuera justo después de la "y" por que me gusta más :) De hecho hay
varios collation "XX_KG" que es "Klingon" :)

ILDG> Por lo que yo puedo tenerla ISO8859_1 y usarla con los
ILDG> diferentes idiomas establecidos en el collate
ILDG> Pero además de la ISO8859_1 están las
ILDG> ISO8859_1
ILDG> ......
ILDG> ISO8859_1 3

Y muchas más...

Aquí tienes unas pocas:

http://www-01.ibm.com/software/globalization/cp/cp_cpgid.jsp

http://msdn.microsoft.com/en-us/library/dd317756%28VS.85%29.aspx

http://web.archive.org/web/20040225223721/http://www.sharmahd.com/tm/codepages.html

-- 
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