La Web del Programador: Comunidad de Programadores
 
    Pregunta:  57356 - CARACTERES GRIEGOS (DELPHI-ACCESS 2000)
Autor:  Facundo Morosawa
Hola gente:

Tengo el siguiente problema...
No puedo ver correctamente los caracteres griegos de un campo memo de una tabla de Access 2000, pero si los caracteres griegos de un campo Text.
Que puedo hacer para verlos correctamente.
Aclaro que tengo caracteres griegos y texto en espaƱol en el campo memo.

Ejemplo:
En la db de access
CampoMemo = 'las proteinas α son...'
CampoText = 'Proteinas α'
Lo que me devuelve delphi:
CMemo = 'las proteinas a son...' //en lugar del α aparece una 'a'
CText = 'Proteinas α' //aparece OK!

Bueno aclaro que tengo los componentes TNT y demas...
Mi codigo es:

ADOQuery.SQL.Clear;
ADOQuery.SQL.Add('SELECT Texto, Titulo FROM Manual WHERE Pagina = '+ IntToStr(aPage));
ADOQuery.Open;
ADOQuery.First;
{if Win32PlatformIsUnicode then
SetThreadLocale($00000408);} //si descomento esto veo los caracteres grigos pero chau acentos... osea es inutil!

delphi1:= ADOQuery.FieldByName('Texto').AsString; // .FieldValues['Texto'];
delphi2:= ADOQuery.FieldValues['Titulo'];
auxiliar.Caption:= delphi1 + ' -> ' + delphi2;


Espero me puedan ayudar...

Saludos.

  Respuesta:  Erwin Alejandro Perez Escobedo
Una sugerencia: codifica el texto que vas a colocar en el memo en como si fuera para un correo electronico, esto es, puedes codificarlo con UU, de esta manera nunca tienes caracteres especiales para almacenar en la BD, y al leer la informacion decodificas el texto.

En la biblioteca JEDI viene un codificador y un decodificador UU, asi como funciones para hacerlo sin colocar un componente.

Espero te sirva.