![]() |
JvDbRichEdit und Unicode
Hallo,
ich habe ein JvDBRichEdit in verwendung, bisher ohne Probleme. Dummerweiße mussten wir die Datenbank auf Unicode umstellen und die Komponente scheint da nicht kompatibel zu sein - es stehen dann falsch encodierte Zeichen im Datenbankfeld. Das JvDbRichEdit zeigt das dann in der Anwendung zwar richtig an, aber wenn andere Anwendungen darauf zugreifen isses natürlich blöd... Ich habe mich mal ein bisschen durch den Quellcode der Komponente gelesen, leider ohne großen Erfolg. Hat jemand einen Tipp oder das JvDbRichEdit selber mit einer Unicode-DB im Einsatz? Danke für eure Hilfe! |
AW: JvDbRichEdit und Unicode
Ich hab die Komponente nicht im Einsatz, aber der Effekt ist m.E. typisch für eine falsche Zeichensatz Migration.
Das Verhalten ist ggF. auch abhängig von der DB Client Software und natürlich auch der DB selbst. Einfache Tests wären: Nun, nach der Umstellung, neue Daten eingeben und prüfen, ob die jetzt nicht nur vom "Quellprogramm" sondern auch von allen anderen richtig dargestellt werden und vice versa. Ist das der Fall, die "Unicode Migration" unter die Lupe nehmen. Andernfalls die Komponente genauer beleuchten. |
AW: JvDbRichEdit und Unicode
Hi jobo,
danke für den Hinweis. Es liegt definitiv an der JV-Komponente...ich werde dann da wohl doch noch tiefer eintauchen müssen. |
AW: JvDbRichEdit und Unicode
Wie sieht der Text im RTF aus? RTF verwendet intern ASCII. Code Pages Escapes sind zum Beispiel "\'c8", und Unicode Escapes "\u1576"
![]() Kann man den Inhalt des RTF Tabellenfeldes vor und nach der Umstellung vergleichen? Haben sich die Datenbankfeldinhalte verändert? |
AW: JvDbRichEdit und Unicode
Hi nochmal,
ja die Inhalte kann man Vergleichen - vor der Umstellung ist es lesbarer Text, nach der Umstellung nur noch "chinesisch"... Das cxDbRichEdit macht es auch richtig, allerdings kann ich die Komponente nicht ohne weiteres austauschen... |
AW: JvDbRichEdit und Unicode
Zitat:
Ich meinte natürlich den reinen RTF Code im Datenbankfeld, nicht die Darstellung in einer RTF Komponente. Wenn bei der Umstellung das RTF Feld zerschossen wurde, kann keine Komponente das wieder geradebiegen. Zitat:
Wie wird auf das Datenbankfeld zugegriffen (COnnection Encoding), und welchen Datenbank-Feldtyp hat das RTF Feld? |
AW: JvDbRichEdit und Unicode
Hi nochmal,
ich poste einfach mal den Feldinhalt aus der Datenbank. Beim cxDbRichEdit sieht das wie folgt aus: {\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset0 Tahoma;}{\f1\fnil Tahoma;}} \viewkind4\uc1\pard\lang1031\f0\fs16 hallo!\f1\par } beim JvDbRichEdit so: 屻瑲ㅦ慜獮屩敤晦笰晜湯瑴汢屻て晜楮屬捦慨獲瑥‰慔潨慭紻ൽ尊楶睥楫摮尴捵就慰摲汜湡ㅧ㌰就て晜ㅳ‶慈汬Ⅿ 灜牡ൽ Zitat:
Das Connection Encoding weiss ich nicht, kann ich bei der ADSConnection gerade nicht finden. Feldtyp in der Datenbank ist NMemo. Danke für deine Mühe ;) |
AW: JvDbRichEdit und Unicode
Zitat:
Der Datenbank-Feldinhalt ist unabhängig von der darstellenden Komponente. Entweder die beiden Beispiele oben sind aus zwei verschiedenen Datenbankdaten (also zwei verschiedene Records, von denen einer noch in Ordnung ist und korrekten RTF Code enthält, und einer "defekt"). Oder es gibt ein anderes Missverständnis. Steht 屻瑲ㅦ慜獮屩敤晦笰晜湯瑴汢屻て晜楮屬捦慨獲瑥‰慔潨慭紻ൽ尊楶睥楫摮尴捵就慰摲汜湡ㅧ㌰就て晜ㅳ‶慈汬Ⅿ 灜牡ൽ genau so im Datenbank-Memofeld? |
AW: JvDbRichEdit und Unicode
Ja, ich habe das 1 zu 1 und aus dem Advantage Data Architect rauskopiert...
Edit: Um mein vorgehen nochmal zu verdeutlichen: Ich habe das Memo-Feld geleert, dann in das cxRTF etwa geschrieben und es gepostet. Anschließend wieder geleert, in jvRTF was geschrieben und wieder gepostet...und das war das Ergebnis ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17: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-2025 by Thomas Breitkreuz