Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Charset para Español en Firebird

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Bases de Datos
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Charset para Español en Firebird Responder citando

Hola, ¿alguien conoce cuál es el charset correcto para Firebird si queremos ver los típicos caracteres de nuestro idioma?


atte
_________________
Adrián

http://adrian.org.ar
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mensaje    Asunto: Responder citando

Pues en principio tienes un buen montón de sitios donde mirar en la página 229 en adelante del manual Data Definition Guide de Interbase 6.0 OS, tienes definidos todos los conjuntos de caracteres más luego los introducidos en Firebird 1.0x y 1.5 que los puedes ver en las Release Notes 1.07 de Firebird 1.5, en el siguiente enlace:

http://www.ibphoenix.com/downloads/Firebird_v15.107_ReleaseNotesSpanish.pdf

Para DOS con codigo de páginas 850 tienes el Character Set DOS850 y Collation Order DB_ESP850.
Para DOS con código de páginas 437 tienes el Character Set DOS437 y Collation Order DB_ESP437.
Luego para la mayoría de plataformas tienes el Character Set ISO8859_1 y Collation Order ES_ES. Este es el que deberías usar.

Espero que te sirva, realmente no hace falta que te mires el Release Doc de Firebird 1.5, pues los que añaden son cirilicos, árabes y cosas así, aun creo que no han añadido el ISO8859_15 que creo que es el que contiene la letra del €.
Ciao.
_________________
OJO!! Ya tenemos subforo de Bases de Datos!!
Gracias a los admins.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

gracias, estuve buscando un buen rato y no daba con el código correcto.

¿El Collation Order es el orden que toman las letras ?
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mensaje    Asunto: Responder citando

Si es el orden que toman las letras dentro del juego de caracteres elegido.

La definición no muy buena a mi juicio, que viene en el Data Definition Guide es la siguiente, bueno quizás no sea muy buena para mi nivel de traducción ( Rolling Eyes ).


Cita:
Cap.13. Pag.220.- Each character set also has an implicit collation order that specifies how its symbols are sorted and ordered. Some character sets also support alternative collation orders. In all cases, choice of character set limits choice of collation orders.


Pone que el COLLATE ORDER se usa logicamente cuando se crean o modifica columnas de tipo CHAR o VARCHAR en una tabla, y luego por supuesto en las operaciones de comparación donde los campos a comparar tengan diferente COLLATION ORDER, estas comparaciones se pueden dar en clausulas WHERE, ORDER BY, GROUP BY, etc.

La verdad es que en las aplicaciones que he hecho hasta el momento no me ha hecho falta nada de esto, uso el que viene por defecto ISO8859_1 en mi caso y todo va sobre ruedas, tildes y eñes sin problemas. Pero bueno no está mal que me lea la documentación y asiente conocimientos de cosas que ya había leido un poco pero que no recordaba.

Se está trabajando en la documentación de Firebird pero por ahora no hay gran cosa, con el CD de Firebird que cuesta una pastita (aunque no mucho para lo que realmente es), viene mogollón de información al respecto, todo en ingles. Por ahora lo unico que tenemos en castellano es el manual sobre instalación y configuración de Firebird, esperemos que en breve salgan más cosas para traducir.

Ciao.
_________________
OJO!! Ya tenemos subforo de Bases de Datos!!
Gracias a los admins.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

Holas... estuve mirando este post... y probe la solucion que se da pero me sigue dando el mismo problema...


Al tratar de guardar la cadena :

"Dispositivos de sonido, vídeo y juegos"

En un campo declarado como varchar (100) y con las indicaciones del charset y collate order del post anterior.. y me da este error..

Cita:

---------------------------
Debugger Exception Notification
---------------------------
Project SiRiA.exe raised exception class EIBInterBaseError with message 'arithmetic exception, numeric overflow, or string truncation
Cannot transliterate character between character sets'. Process stopped. Use Step or Run to continue.
---------------------------



Alguna idea ?

Saludos!!!
_________________
"Ser inteligente no es ser mas, solo equivocarse menos y no usar Visual Basic"
Atte.
Victor Yañez

Apoyen el Proyecto OpenSource del Club Builder. Ya tenemos componentes Listos!!!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Yahoo Messenger MSN Messenger
Mensaje    Asunto: Responder citando

La unica solucion, es crear desde el inicio, la base y las tablas con el charset win1252, como ejemplo pongo esto.


Código:
CREATE DATABASE '127.0.0.1:D:/H255/ARCHIVOS DE PROGRAMACION/ARCHIVOS DE BORLAND C++ BUILDER/SISTEMA PV\PROGRAMA SERVIDOR/ss3/SPDVS3.S3'
USER 'SYSDBA' PASSWORD 'masterkey'
PAGE_SIZE 1024
DEFAULT CHARACTER SET WIN1252;



/* Generators definitions */

CREATE GENERATOR G_EMPRESA ;
CREATE GENERATOR G_PROVEEDOR ;
CREATE GENERATOR G_USUARIO ;
SET GENERATOR G_EMPRESA TO 1;

SET GENERATOR G_PROVEEDOR TO 0;

SET GENERATOR G_USUARIO TO 0;



/* Tables definitions */

CREATE TABLE CLASIFICACIONES (
    CL_ID INTEGER NOT NULL,
    CL_CLASIFICACION VARCHAR (50) CHARACTER SET WIN1252 COLLATE WIN1252,
    ID_NOTAS BLOB sub_type 2 segment size 1,
    CL_ID_EMPRESA INTEGER NOT NULL);


Con esto, es decir utilizando WIN1252, PUEDES CREAR, yo realice una base, de igual maner, es mas en algun post, puse la solucion, y no daba como meter los datos con acentos, dandome el mismo error, que comenta vicktor, bien, al darme cuenta del contenido de la base, y ver el scrip del sql, me di cuenta, que en lugar del WIN1252, tenia el WIN1251, un fallo garrafal pero al crear de nuevo la base de datos, quedo a la perfeccion..

saludos.
_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Vale Cesar... lo probare... y te cuento...

Saludos!
_________________
"Ser inteligente no es ser mas, solo equivocarse menos y no usar Visual Basic"
Atte.
Victor Yañez

Apoyen el Proyecto OpenSource del Club Builder. Ya tenemos componentes Listos!!!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Yahoo Messenger MSN Messenger
Mensaje    Asunto: Responder citando

_Viktor yo no uso ninguna CHARSET, bueno uso el POR DEFECTO y no tengo ningun problema en guardar ni eñes ni tildes... En fín... a saber..

Ciao.
_________________
OJO!! Ya tenemos subforo de Bases de Datos!!
Gracias a los admins.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

Holas... he intentado de las dos formas... con el charset por defecto y con el dado por cesar... y aun me sigue dando el mismo error.... pero ahora solo falla con las palabras tildadas... :S


Creo que no son mis dias...

Alguien tiene alguna idea de que pueda ser ???

Saludos!
_________________
"Ser inteligente no es ser mas, solo equivocarse menos y no usar Visual Basic"
Atte.
Victor Yañez

Apoyen el Proyecto OpenSource del Club Builder. Ya tenemos componentes Listos!!!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Yahoo Messenger MSN Messenger
Mensaje    Asunto: Responder citando

Ya lo he solucionado gracias a la ayuda de XyVy ... gracias por tu ayuda....

Saludos!!!
_________________
"Ser inteligente no es ser mas, solo equivocarse menos y no usar Visual Basic"
Atte.
Victor Yañez

Apoyen el Proyecto OpenSource del Club Builder. Ya tenemos componentes Listos!!!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Yahoo Messenger MSN Messenger
Mensaje    Asunto: Responder citando

Que va Viktor, si yo apenas te ayude!!! jajaja.

cuidate.
_________________
OJO!! Ya tenemos subforo de Bases de Datos!!
Gracias a los admins.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.