Autor Beitrag
Siegbert
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Sa 03.12.11 13:44 
Hallo zusammen,

ich habe folgendes Problem: in einer Applikation die von Delphi 5 und BDE(Paradox) nach Delphi 2010 mit Interbase portiert wurde, wird an einer Stelle noch über eine TIBTable-Komponente auf die Datenbank zugegriffen. Dort macht ein Umbau auch großen Aufwand, daher soll es erst mal bei der TIBTable bleiben. Andere Bereiche sind aber bereits auf TIBQuery umgestellt.

Genau da tritt aber das Problem auf: über ein DBMemo das mit einer IBTable-Komponente verbunden ist kann ich das Memo-Feld der verbundenen Interbase-Tabelle problemlos beschreiben und wieder korrekt anzeigen.
Wenn ich das selbe Feld aber in einen anderen Formular über ein DBMemo das mit einer IBQuery-Komponente verbunden ist anzeigen lasse, stehen dort nur "chinesisch" aussehende Sonderzeichen.

Was mache ich da falsch? Habe ich irgendeine Eigenschaft der Komponenten übersehen, mit der man das Unicode-Verhalten steuern kann?

Wer kann mir einen Tipp geben?

Danke vorab, Siegbert
baka0815
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 489
Erhaltene Danke: 14

Win 10, Win 8, Debian GNU/Linux
Delphi 10.1 Berlin, Java, C#
BeitragVerfasst: Di 13.12.11 12:49 
So etwas ähnliches hatte ich mal, als ich einem CLOB-Feld anstatt per .AsMemo := 'Wert' den Wert per .AsString := 'Wert' zugewiesen habe.
Vielleicht hast du das Feld als String statt als Memo definiert?
rd3
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 17.12.11 01:41 
Wenn alles korrekt kodiert ist, solltest Du per .AsWideString/.AsString bzw. über utf8decode/-encode rankommen... resp. deprecated methods... D5 hört sich vllt nach ansi an... ist es ursprünglich eine reine delphi-anwendung gewesen? (delphi war halt nicht unicode... so trivial es klingt; das ist es nicht!... ich hab auch viele probleme, die einfach aussehen mit alten anwendungen und unicode... gerade bei delphi-versionen <2009). benutzt du tnt?