Creo, (y supongo que es evidente) que el problema se da por la transformación de un texto desde UTF8 a ASCII... estas transportando, cargando un texto que VES en ASCII pero que te ha sido entregado en otro formato... tu lo recibes en ASCII y lo tratas como ASCII... y todo tu codigo está pensado en ASCII...
A mi me sucedia algo parecido, al crear un documento de TEXTO en Notepad++... Cuando lo leia en Delphi con un TStringList me mostraba éstos carateres extraños...
Código Delphi
[-]Var Cadena:String;
MyStringList.LoadFromFile(NombreArchivo);
Cadena:= MyStringList.Text;
lo que sucedía era que el archivo se estaba guardando en UTF8.. para esto Delphi da una solución
Código Delphi
[-]Var Cadena:String;
MyStringList.LoadFromFile(NombreArchivo,TEncode.UTF8);
Cadena:= MyStringList.Text;
Y listo..!!
A pesar que las variables String aceptan por defecto (ahora) carcateres unicode, el TStringList le estaba enviando algo que creia era ASCII...
saludo,