Ich würde vermuten es handelt sich bei deinem Problem um eine Codepage-Konvertierung. Wenn zum Beispiel ein String, welcher ein Euro-Zeichen (€) enthält, in die Codepage 850 konvertiert wird, steht an der Stelle des €-Zeichens ein Fragezeichen, weil die Codepage 850 kein €-Zeichen enthält.
So bringt folgendes Programm
Delphi-Quellcode:
Type AnsiStr720 = Type AnsiString(720);
Procedure Test;
Var
uString : Unicodestring;
aString : AnsiStr720;
begin
uString := 'Text mit Umlauten innerhalb von Anführungszeichen: "öäü"';
Writeln(uString);
aString := uString;
Writeln(aString);
end;
folgende Ausgabe
Code:
Text mit Umlauten innerhalb von Anführungszeichen: "öäü"
Text mit Umlauten innerhalb von Anf?hrungszeichen: "???"
weil es in der
Codepage 720 (=Arabisch) keine Umlaute gibt.
Es könnte sich also bei Dir um eine Codepage handeln, die weder Umlaute noch das doppelte Anführungszeichen enthält um so ein Ergebnis wie von Dir beschrieben zu erhalten.