![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Ayudaaaa!!! Tabla ASCII: El carácter Ñ vs. carácter ¥
Hola a tod@s.
Me ha surgido una duda-problema referente al juego de caracteres que utiliza Delphi, el BDE e Interbase/Firebird. He visto que existen preguntas parecidas en los viejos foros pero no he encontrado la solución a mi problema. El caso es que tengo el siguiente programa de ejemplo en Delphi 7 (dentro del BDE Administrator, Configuración, System, INIT, LANGDRIVER tengo seleccionado: 'ascii' ANSI) ShowMessage(char(165)); --> Muestra el carácter: ¥ ShowMessage(char(209)); --> Muestra el carácter: Ñ De forma inversa: ShowMessage(IntToStr(ord('¥'))); --> Da el valor: 165 ShowMessage(IntToStr(ord('Ñ'))); --> Da el valor: 209 Hasta ahora todo correcto. Pero cual es mi sorpresa que al realizar Alt+165 en el editor de Delphi o en el bloc de notas me sale Ñ ![]() ![]() Todo esto viene porque en un campo Varchar de una BD con Firebird a la que no se ha elegido charset (está a NONE), al consultar ese campo desde una aplicación realizada con Delphi 5 se muestra correctamente el carácter Ñ en la palabra 'ESPAÑA', pero al escribirlo a fichero ese carácter se graba como el carácter ¥ (apareciendo 'ESPA¥A') lo cuál nos acarrea muchos problema. ¿Puede ser por el AssignFile y el tipo TextFile? Por favor, si os ha surgido a vosotr@s algo parecido y lo habeis solucionado os agradecería que me lo dijéseis. ![]() Muchas gracias y hasta luego, Berto2003 ![]() |
#2
|
||||
|
||||
Te Recomiendo....
Primeramente te recomiendo que cuando Declares un Campo de Tipo Varchar le cambias a Collate = ES_ES y CharSet = ISO8859_1, ahora si quieres hacer una Busqueda por Descripción y en esta busqueda le pasas una letra Ñ siendo que en la base de datos esta registrada como ¥ , hay una función que te convierte este último caracter a la letra Ñ :
Espero te sirva.... Saludos. |
#3
|
|||
|
|||
Gracias pero..
Gracias AGAG4 pero he ejecutado la función de la siguiente manera y me ha salido lo siguiente:
procedure TForm1.Button5Click(Sender: TObject); begin ShowMessage(Ansi2Ascii('ESPA¥A')); --> ESPA¾A end; El carácter ¾ me sale como el 190, pero no corresponde con el ASCII de la tabla que tengo. Gracias de nuevo, Un saludo. |
#4
|
||||
|
||||
esa letra me pasaba lo mismo pero con tablas paradox y el BDE, cambiando el driver del lenguaje a "pdox intl 850" se solucionó, pero claro es paradox.
intl 850 = "tabla de códigos internacional, número 850" Suerte
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#5
|
|||
|
|||
Voy a probar
Gracias Lepe, voy a probar ahora mismo.
Un saludo |
#6
|
|||
|
|||
De nuevo el carácter ¥...
Hola de nuevo,
He probado cambiando el LANGDRIVER, pero ahora me surge el problema de que algunos equipos el carácter Ñ me sale como ¥ y en otros como #... ![]() while Pos('Ñ', Cadena) > 0 do Cadena[Pos('Ñ', Cadena)] := #165; ... MiLista.SaveToFile(nombre_de_fichero); ¿Puede ser que según este LANGDRIVER sea por lo que sale el ¥ o la #? Bueno, espero haberme explicado bien, y no haberos liado mucho. Gracias de antemano a tod@s. Saludos |
![]() |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
![]() |
|