Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Firebird y caracteres polacos (https://www.clubdelphi.com/foros/showthread.php?t=73622)

Tonino74 05-05-2011 13:30:40

Firebird y caracteres polacos
 
Buenos días.
Tengo una aplicación que funciona con Firebird, y necesito que guarde caracteres polacos, pero cuando salgo del registro y vuelvo a entrar en el, me los ha cabiado por otros. Supongo que es algo de la página de codigos, pero no tengo ni idea, ya que nunca he necesitadi hacer algo así. Si alguien puede ayudarme, le quedaría muy agradecido.
Utilizo Delphi XE.

Un saludo.

Casimiro Noteví 05-05-2011 13:50:37

Debes indicarle a la base de datos el juego de caracteres que se usará, o como mínimo a los campos que te interesen.

Ejemplo con un dominio para campos varchar:

Código SQL [-]
create domain domNombre varchar(64) character set UTF8 collate ES_ES_CI_AI default '';

Haz una búsqueda por charset, character sets, collation, etc. es un tema que se ha tratado otras veces.

También puedes echar un vistazo a esta pagina.

Tonino74 06-05-2011 13:34:48

Muchas gracias por tu respuesta. Voy a probar con UTF8, que parece bastante común, a ver si me sirve la misma base de datos para al menos los idiomas europeos.

Te reitero mi agradecimiento, y un saludo.

Delphius 06-05-2011 13:58:58

Hola,

Sólo una aclaración/"duda"... Tengo entendido que ES_ES_CI_AI sólo está disponible para Firebird 2.1 en adelante. ¿O me equivoco? Porque si Tonino74 hace uso de una versión anterior (2.0 o menor) no le servirá ese collate.

Saludos,
PD: ¿Alguien sabe cuál sería la traducción más apropiada al término collate?

Casimiro Noteví 06-05-2011 15:33:50

Cita:

Empezado por Delphius (Mensaje 399183)
Hola,

Sólo una aclaración/"duda"... Tengo entendido que ES_ES_CI_AI sólo está disponible para Firebird 2.1 en adelante. ¿O me equivoco? Porque si Tonino74 hace uso de una versión anterior (2.0 o menor) no le servirá ese collate.

Saludos,
PD: ¿Alguien sabe cuál sería la traducción más apropiada al término collate?

Sí, la 2.1 y siguientes.

Delphius 07-05-2011 00:11:39

Cita:

Empezado por Casimiro Notevi (Mensaje 399186)
Sí, la 2.1 y siguientes.

Cha gracias amigo por la aclaración ;)

Ahora sigue en pié lo que dije al final como postdata: ¿Cuál es el término o traducción más apropiado para collate? :confused: porque me da cierto tiquismis decir collate... ¿habrá alguna palabrita más apropiada en nuestro idioma? Porque charset fácilmente lo podemos decir, con mucha razón, conjunto de caracteres... pero collate ¿?

Saludos,

Tonino74 09-05-2011 10:06:33

Buenos días.
Gracias de nuevo a los dos. La versión que utilizo es la 2.1.

Hasta pronto.

Tonino74 09-05-2011 13:36:20

Hola de nuevo.
He intentado ejecutar en IB-Experts la consulta para la creación del dominio, como indica Casimiro Notevi pero me dá el siguiente error:
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 1, column 76.
default.

Si le quito el default '' me dá este otro error:
Undefined name.
Dynamic SQL Error.
SQL error code = -204.
Data type unknown.
COLLATION ES_ES_CI_AI for CHARACTER SET UTF8 is not defined.

También he creado una Base de datos definiendo como juego de caracteres UTF-8, pero cuando intento meter las vocales acentuadas me dá el error:
Dynamic SQL Error
SQL error code = -303
Malformed string.

Es la primera vez que me enfrento a este tipo de cosas, y estoy completamente perdido. Por favor, necesito vuestra ayuda.
Por cierto ¿qué hace el famoso "collate" y para qué sirve?

Muchas gracias.

Tonino74 16-05-2011 14:08:22

Hola de nuevo.
Siguiendo con el tema, he seguido probando y he cambiado los componentes que estaba utilizando (los de Interbase de Delphi) por los FIBPlus, y ha funcionado todo a la primera y sin tener que configurar nada. Por tanto, hay alguna diferencia (o algún parámetro) de unos a otros que no sé cual es. ¿Alguno de vosotros sabría cual puede ser?.

Muchas gracias y espero vuestra ayuda.


La franja horaria es GMT +2. Ahora son las 23:37:35.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi