FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Cómo guardar el símbolo del euro (€)
Hola.
Tengo una base de datos definida como: DEFAULT CHARACTER SET = ISO8859_1 y COLLATION ES_ES. y en ella una tabla con un campo VARCHAR en la que guardo precios de dos enteros y dos decimales. Quiero que guarde el símbolo del euro al final. Una vez colocado €, por ejemplo 20,50€, resulta que Firebird lo guarda como 20,50?. ?Que carácter set debo usar? o lo que es lo mismo, ¿dónde está el error? He visto un ejempo aquí con el símbolo 'Tic OK' la V con el brazo derecho alargado, pero no lo pillo. Tampoco sé que combinación Alt+XXX debo usar para obtenerlo. Saludos. |
#2
|
|||
|
|||
hola, en el ISO-8859-1 no existe el caracte € https://es.wikipedia.org/wiki/ISO/IEC_8859-1
Tendias que passar a ISO-8859-15 https://es.wikipedia.org/wiki/ISO/IEC_8859-15 Por que guardas numeros en un campo VARCHAR? No seria mas facil guardar como numerico y añadir el € al presentar el numero? (por tema de posibles calculos sobre estos numeros) |
#3
|
||||
|
||||
Por esta razón
Uso un campo Varchar porque se refiere al precio de un sello.
Los sellos pueden estar en Cuartos, Reales, Maravedíes, Pesetas, Euros... Y para buscar un sello, aparte de su 'nombre' o el texto que lleva el sello se usa el valor facial, entre otros... Ya que todos tienen su valor facial. En cambio muchos no llevan texto ninguno, salvo el del país emisor. Ya he valorado otras opciones, pero ésta es casi, casi, la mejor. De ahí que use un Varchar. Ten en cuenta que yo soy muy rústico en esto de Delphi/Firebird. Ahora bien, si me sugieres usar otro medio lo probaré. Y esto me da pie para preguntar si puedo añadir un campo Varchar con ese ISO nuevo para pasar los datos al nuevo campo y borrar el viejo. ¿Se puede? Quedo a la espera de tu comentario y recibe un agradecido saludo por tu ayuda e interés. bulc Última edición por bulc fecha: 12-01-2017 a las 18:29:02. |
#4
|
||||
|
||||
Cita:
De todas formas, en valor numérico es un valor numérico. Yo tendría dos campos, uno para el valor numérico y otro para la moneda que corresponda.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#5
|
||||
|
||||
Añadiendo...
Gracias Notevi. Tomo nota.
Entiendo tu razonamiento de tener dos campos separados. Lo sopesé en el momento del diseño. Con una letra está la cosa solucionada y a la hora de la búsqueda es más directo. No es lo mismo buscar en dos campos que en uno. Así para buscar 2 reales. Uso 2,00R, para 3 cuartos, 3,00C, pesetas P, y euros €. Así 2 pesetas es 2P o 2,00P, etc. De momento va sin problemas. Esa es la única razón. De todos modos me pone muy contento ver que siempre dais en el clavo potenciando lo poco que uno sabe. Un saludo afectuoso. bulc |
#6
|
||||
|
||||
No he ha funcionado...
He añadido un campo tal como dices:
ALTER TABLE XXX ADD nuevo_campo varchar(7) character set... ect. el campo aparece correctamente pero al guardar el símbolo del euro los guardar como '?' Seguiré probando... Saludos. bulc |
#7
|
||||
|
||||
Pues habría que ver cómo lo haces.
Mira un ejemplo con texto en griego, chino, árabe y el símbolo del euro. En este caso es UTF8
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#8
|
||||
|
||||
Una cosa rara
Me ha pasado una cosa rara. Tengo un ordenador anterior sin Firebird y le había instalado una compilación Embeded con los mismos archivos de Base de Datos y resulta que sí guarda el euro sin problemas.
He de mirar, cuando pueda, qué definición tiene de base de datos y de tabla. Pero me he quedado muy extrañado. Añado. bulc |
#9
|
||||
|
||||
Esto he encontrado: character set ISO8859_15
Búscando solucíón al euro -que no acabo de entender- he hallado
http://www.deister.net/es/locale-par...e-euroe-en-bd/ Viene a decir que la norma ISO8859_15 es una variante que introduce el símbolo del euro y algunos otros a base de quitar otros tantos, poco usados, de la norma ISO8859_1. Saludos, bulc |
#10
|
||||
|
||||
Efectivamente, tal y como ha comentado aposi en el mensaje #2
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#11
|
||||
|
||||
Firebird 2_5 no tiene definido ISO8859_15
He probado a crear un DataBase con ese Default Character Set (el ISO8859_15) y me dice que no está definido para Firebird_2_5.
Así que sigo usando el Character Set ISO8859_1 COLLATION ES_ES_CI_AI, que sí que funcionan. El caso es que en el modo cmd (prompt de comandos) si que sale pulsando E+AltGr el símbolo del euro. Alguien sabe: 1.- Si Firebird 3_2 acepta el ISO8859_15. 2.- Si en los listados SELECT de Firebird_3_2 ya sale el símbolo del euro? Y si no iré pensando en instalarlo. Gracias. |
#12
|
||||
|
||||
Se supone que sí, pero de todas formas vuelvo a repetir que no debes guardar el símbolo en la moneda: 5.25€ 80.33$ etc. por varios motivos, ¿no serían campos numéricos, sino varchar, por lo que no podrás haces cálculos con ellos, sumas, etc.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#13
|
||||
|
||||
Si, en eso llevas razón: simbolo y cantidad separados
Pero se me escapa por qué si el prompt del DOS (cmd) contiene el símbolo del euro y sin embargo los listados Select no lo muestran.
Debo repetir que el Firebird 3_2 no tiene definido el ISO8859_15 por lo que uso ISO8859_1 COLLATION ES_ES_CI_AI y luego en la definición concreta del campo donde va el símbolo del euro UTF8. Eso es lo que he comprobado. Saludos. |
#14
|
||||
|
||||
El iso8859_1 no tiene el simbolo del euro.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#15
|
||||
|
||||
Cita:
No entiendo qué quieres decir con lo de "los listados select". Cita:
Tampoco entiendo lo que dices sobre "definición concreta del campo donde va el símbolo del euro UTF8", ¿que tienes defiinido ese campo como utf8? Creo que te estás complicando tú mismo, la cosa es fácil, crea una base de datos iso8859_15, o mejor todavía, créala como utf8. El collate es para la ordenación, no tiene nada que ver con los caracteres definidos, en tu caso: ES_ES_CI_AI indica que ordenará teniendo en cuenta palabras acentuadas y demás, y las tratará como iguales, o sea, que será lo mismo: Camión, camion, caMion, etc.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Cómo puedo poner € símbolos euro en Firebird | bulc | Firebird e Interbase | 2 | 13-10-2015 16:15:45 |
¿Pedir un crédito de un Euro? | marcoszorrilla | Humor | 1 | 22-11-2005 09:31:16 |
Como introducir un simbolo dentro de un DBGrid? | tramjauer | Conexión con bases de datos | 1 | 22-09-2005 12:29:17 |
Como saco un símbolo? | craven | Varios | 5 | 08-09-2003 23:00:44 |
interbase-delphi-Tgrid-simbolo del euro | Giniromero | Conexión con bases de datos | 7 | 12-06-2003 15:58:48 |
|