| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
ikis Master


Registrado: 28 Dic 2002Mensajes: 703Ubicación: Madrid, España
|
Publicado: Vie 13 Feb, 2004 10:40 am Asunto: Charset para Español en Firebird |
|
|
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 |
|
 |
XyVy Master


Registrado: 25 Ago 2002Mensajes: 557Ubicación: Murcia (España)
|
Publicado: Vie 13 Feb, 2004 4:08 pm Asunto: |
|
|
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 |
|
 |
ikis Master


Registrado: 28 Dic 2002Mensajes: 703Ubicación: Madrid, España
|
Publicado: Vie 13 Feb, 2004 11:54 pm Asunto: |
|
|
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 |
|
 |
XyVy Master


Registrado: 25 Ago 2002Mensajes: 557Ubicación: Murcia (España)
|
Publicado: Sab 14 Feb, 2004 12:27 am Asunto: |
|
|
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 ( ).
| 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 |
|
 |
_Viktor Master


Registrado: 20 Jul 2003Mensajes: 463Ubicación: Santiago, Los Angeles - Chile
|
Publicado: Jue 10 Feb, 2005 2:20 am Asunto: |
|
|
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 |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Jue 10 Feb, 2005 5:28 am Asunto: |
|
|
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. _________________
 |
|
| Volver arriba |
|
 |
_Viktor Master


Registrado: 20 Jul 2003Mensajes: 463Ubicación: Santiago, Los Angeles - Chile
|
|
| Volver arriba |
|
 |
XyVy Master


Registrado: 25 Ago 2002Mensajes: 557Ubicación: Murcia (España)
|
Publicado: Jue 10 Feb, 2005 10:12 am Asunto: |
|
|
_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 |
|
 |
_Viktor Master


Registrado: 20 Jul 2003Mensajes: 463Ubicación: Santiago, Los Angeles - Chile
|
Publicado: Jue 10 Feb, 2005 5:50 pm Asunto: |
|
|
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 |
|
 |
_Viktor Master


Registrado: 20 Jul 2003Mensajes: 463Ubicación: Santiago, Los Angeles - Chile
|
|
| Volver arriba |
|
 |
XyVy Master


Registrado: 25 Ago 2002Mensajes: 557Ubicación: Murcia (España)
|
Publicado: Mar 15 Feb, 2005 11:41 pm Asunto: |
|
|
Que va Viktor, si yo apenas te ayude!!! jajaja.
cuidate. _________________ OJO!! Ya tenemos subforo de Bases de Datos!!
Gracias a los admins. |
|
| Volver arriba |
|
 |
|