![]() |
Datenbank: Firebird • Version: 2.5 • Zugriff über: dbExpress
XE2, Firebird und jetzt auch noch Unicode..
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:
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".
with ibquery2 do
begin ParamByName('PA').AsWideString := edit1.Text; ParamByName('ID').AsInteger := id; Open; Close; end; Was läuft da falsch? |
AW: XE2, Firebird und jetzt auch noch Unicode..
Zitat:
Evtl. ist hier noch ein Bug. Für Unicde brauchst du die Krückenlösung Charset ja nicht mehr. |
AW: XE2, Firebird und jetzt auch noch Unicode..
Danke erstmal für die schnelle Antwort. Habe auf die Einstellungen beim Editfeld verzichtet, aber es ändert sich leider nichts. Jetzt stehen nach dem Schreiben allerdings Fragezeichen in den Feldern. Auch im IBExpert.
|
AW: XE2, Firebird und jetzt auch noch Unicode..
Es gibt einmal das Charset der Edits (für die ANSI-API-Zugriffe)
und dann gibt es die Kodierung der Datenübertragung (Programm <> DB-Server), dann noch eine Kodierung für die Speicherung der Datenfelder usw. |
AW: XE2, Firebird und jetzt auch noch Unicode..
Jetzt funktioniert es! Habe die DB-Komponenten nochmal ganz neu konfiguriert und dabei den Zeichensatz gleich in den Parametern gesetzt. Und das war es. Auch Textblob funktioniert (auch gemischt). Die Anfangshürden sind offenbar genommen. Jetzt finde ich hoffentlich allein weiter. Vielen Dank Euch beiden!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz