[Lazarus-es] Caracteres "extraños" en DBF

José Mejuto joshyfun en gmail.com
Mie Ene 5 22:38:56 CET 2011


Hello josquin,

Wednesday, January 5, 2011, 9:47:13 PM, you wrote:

j> Tengo un pequeño problema con un fichero DBF. Uso el componente Tdbf
j> para acceder a ella, con  su correspondiente Datasource y DBGrid.
j> El problema es que la tabla la gestiona un "viejo" programa DOS en 
j> Clipper, y en mi programa en Lazarus, cuando el registro tiene una 
j> "eñe", o cualquier otro carácter "extraño", me muestra una 
j> interrogación. Sé que el fichero DBF usa un juego de caracteres OEM, y
j> que en Windows, se usa el juego ANSI. Sé también que se puede utilizar
j> una función de la Api de Windows para pasar los caracteres de un juego a
j> otro, pero no consigo hacer funcionar correctamente esta función para
j> que me muestre los datos de forma correcta en el Grid. ¿alguna sugerencia?

No es sólo eso, es que todo en la LCL de Lazarus usa UTF8 no ANSI, por
lo tanto tienes que convertir los datos del "codepage" que uses a
UTF8, para ello puedes usar la unit "lconvencoding", y cuando grabas
al revés claro.

Ahora de que juego de caractéres tienes que pasar a UTF8 eso si que no
lo sé, supongo que del cp850 a UTF8, pero es una suposición. Simpre
puedes probar con una de estas dos:
CP437ToUTF8
CP850ToUTF8

-- 
Best regards,
 José





More information about the Lazarus-es mailing list