![]() |
Datenbank: Firebird • Version: 2.1 • Zugriff über: Zeos 7.0.5
TnTlabel + Zeos + Firebird Encoding Probleme
Moin
Nachdem ich jetzt mein Projekt in Delphi 2007 mit Zeos 7.0.5 hab, dachte ich eigentlich das das mit den kyrillischen Zeichen aus der Datenbank kein Problem mehr sein sollte. Jetzt liefert mir aber meine kleine Testanwendung die ich mir geschrieben hab trotzdem nur Kauderwelsch.
Delphi-Quellcode:
Wenn ich jetzt z.B. "Türöffner" auslesen will kommt für die Tntcomponenten: türöffner für die normalen funktionierts logischer weise, wenn ich фывафыва aus der Datenbank lesen will krieg ich bei TnT фывафыва für die normalen aber nur ????????.
Zconnection1.Connect;
ZQuery1.SQL.Text := 'Select * From Test Where ID = 2'; Zquery1.Open; tntlabel1.Caption := Zquery1.FieldByName('text').AsWidestring; tntedit1.Text := Zquery1.FieldByName('text').AsWidestring; label1.Caption := Utf8toAnsi(Zquery1.FieldByName('text').Asstring); edit1.Text := Utf8toAnsi(Zquery1.FieldByName('text').Asstring); Zquery1.close; Edit: Auf dem russischen Windows wird dann wieder фывафыва draus. In der ZConnection hab ich die Clientcodepage auf UTF8 und die Controlscodepage auf cCP_UTF8 eingestellt. Das Feld das ich auslese ist: Charset UTF8 und Coallate UTF8. Im IBExpert wird alles korrekt dargestellt. Jetzt ist natürlich die Frage wo liegt das Problem? |
AW: TnTlabel + Zeos + Firebird Encoding Probleme
Soweit mir bekannt, erwarten die TNT-Controls WideString-Fields.
Somit müßtest du die ControlsCodePage auf cCP_UTf16 stellen. Dann konvertiert Zeos alles auf WideStrings/UnicodeStrings. Für mich sind die dir gelieferten Daten völlig korrekt. Es gab/gibt da irgendwo im Zeos-Forum einen D7-hack für die TNT controls, da D7 keine TWideString/TWideMemo-Fields unterstützt und via UTF8Encode/UTF8Decode die Daten lädt. Weiterhin ist die ControlsCodePage cCP_UTF8 auch für alle Lazarus Anwender, da unter LCL alle controls von UTF8-encodierten Strings ausgehen. Solltest du rein mit heimischer CodePage arbeiten, wäre cGet_ACP effizienter. Bei weiteren Problem, müßte ich auch den default-Charset deiner FierBird DB wissen.. Edit: ZConnection.AutoEncodeStrings? |
AW: TnTlabel + Zeos + Firebird Encoding Probleme
Zitat:
|
AW: TnTlabel + Zeos + Firebird Encoding Probleme
Das weiß ich nicht, Bernhard.
Habe mich gestern noch um das D2005 Problem gekümmert. Sollte jetzt wunderbar kompilieren. 7.0.6 kommt noch diese Woche, da 7.0.5 ein unschönes Memory-leak hat. Tja, um hiermer zu sagen, müßte ich mehr Informationen haben. Default Charset der DB ist AutoEncodeStrings gesetzt oder nicht? Wie funzen nun die TNT-Controls genau? D2005 unterstützt auch nich keine TWide..-Fields. Scheint alles erst mit dem TWideDataSet seit D2006 dabei zu sein. Bug-Tracking ohne verfügbare Compiler ist etwas frustrierend.. |
AW: TnTlabel + Zeos + Firebird Encoding Probleme
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:27 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