Hallo,
nachdem man mir schon am Wochenende bzgl. Datenbankverbindung erfolgreich "aufs Pferd" geholfen hat, habe ich die Hoffnung, dass man mir auch beim nächsten Problem das Licht anzünden kann:
Ich möchte in einer kleinen Anwendung Daten aus einer Firebird Datenbank (Standardzeichensatz ist UTF8) lesen. Soweit kein Problem. Habe u.a. zwei Felder
WHO_NAME Varchar(50)
WHO_ARAB Varchar(50)
Das zweite Feld soll eben arabische Zeichen enthalten. Die Darstellung in der Datenbank ist kein Problem. Im Designer (IBExpert) kann ich korrekte Daten ein- bzw. ausgeben.
Beim Lesen durch die Testapplikation:
Delphi-Quellcode:
with ibquery1 do
begin
open;
id := FieldByName('WHO_ID').AsInteger;
edit1.Text := FieldByName('WHO_ARAB').AsWideString;
edit2.Text := FieldByName('WHO_NAME').AsWideString;
end;
allerdings wird etwas völlig anderes angezeigt. Gebe ich andererseits in der Testapplikation einen arabischen Text ein (Anzeige am Schirm korrekt)
Delphi-Quellcode:
with ibquery2 do
begin
ParamByName('PA').AsWideString := edit1.Text;
ParamByName('ID').AsInteger := id;
Open;
Close;
end;
steht in der Datenbank wieder etwas völlig anderes. Alle anderen Felder werden korrekt geschrieben und gelesen. Vermutlich ein Konvertierungsproblem. Das Editfeld ist "bdRightToLeft", "ARABIC_CHARSET", "@Arial
Unicode MS".
Was läuft da falsch?