AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

JvDbRichEdit und Unicode

Ein Thema von bwolf · begonnen am 8. Feb 2013 · letzter Beitrag vom 11. Feb 2013
Antwort Antwort
bwolf

Registriert seit: 17. Jan 2006
368 Beiträge
 
Delphi 2009 Professional
 
#1

JvDbRichEdit und Unicode

  Alt 8. Feb 2013, 11:07
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!
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#2

AW: JvDbRichEdit und Unicode

  Alt 8. Feb 2013, 11:53
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.
Gruß, Jo
  Mit Zitat antworten Zitat
bwolf

Registriert seit: 17. Jan 2006
368 Beiträge
 
Delphi 2009 Professional
 
#3

AW: JvDbRichEdit und Unicode

  Alt 8. Feb 2013, 13:03
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.
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#4

AW: JvDbRichEdit und Unicode

  Alt 8. Feb 2013, 14:17
Wie sieht der Text im RTF aus? RTF verwendet intern ASCII. Code Pages Escapes sind zum Beispiel "\'c8", und Unicode Escapes "\u1576"

http://en.wikipedia.org/wiki/Rich_Te...acter_encoding

Kann man den Inhalt des RTF Tabellenfeldes vor und nach der Umstellung vergleichen? Haben sich die Datenbankfeldinhalte verändert?
Michael Justin
  Mit Zitat antworten Zitat
bwolf

Registriert seit: 17. Jan 2006
368 Beiträge
 
Delphi 2009 Professional
 
#5

AW: JvDbRichEdit und Unicode

  Alt 11. Feb 2013, 11:42
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...
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#6

AW: JvDbRichEdit und Unicode

  Alt 11. Feb 2013, 12:32
ja die Inhalte kann man Vergleichen - vor der Umstellung ist es lesbarer Text, nach der Umstellung nur noch "chinesisch"...
Ein Screenshot oder Textbeispiel (RTF ist intern ja Text, und läßt sich mit wenig Aufwand aus dem Datenbankfeld auslesen - Copy & Paste) wäre für die Fehlersuche hilfreich.

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.

Das cxDbRichEdit macht es auch richtig, allerdings kann ich die Komponente nicht ohne weiteres austauschen...
Das heisst, der RTF Code doch noch korrekt als RichText in der Anwendung darstellbar, wenn man statt JvDbRichEdit ein cxDbRichEdit verwendet?

Wie wird auf das Datenbankfeld zugegriffen (COnnection Encoding), und welchen Datenbank-Feldtyp hat das RTF Feld?
Michael Justin
  Mit Zitat antworten Zitat
bwolf

Registriert seit: 17. Jan 2006
368 Beiträge
 
Delphi 2009 Professional
 
#7

AW: JvDbRichEdit und Unicode

  Alt 11. Feb 2013, 14:49
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 heisst, der RTF Code doch noch korrekt als RichText in der Anwendung darstellbar, wenn man statt JvDbRichEdit ein cxDbRichEdit verwendet?
Richtig - die cx-Komponente stellt es richtig da, auch wenn es mit der JV-Komponente gespeichert wurde.

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
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#8

AW: JvDbRichEdit und Unicode

  Alt 11. Feb 2013, 15:20
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:

屻瑲ㅦ慜獮屩敤晦笰晜湯瑴汢屻て晜楮屬捦慨獲瑥‰慔潨慭紻ൽ尊楶睥楫摮尴捵就慰摲汜湡ㅧ㌰就て晜ㅳ‶慈汬Ⅿ 灜牡਍ൽ
Nun, mit dieser Antwort hatte ich nicht gerechnet
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?
Michael Justin
  Mit Zitat antworten Zitat
bwolf

Registriert seit: 17. Jan 2006
368 Beiträge
 
Delphi 2009 Professional
 
#9

AW: JvDbRichEdit und Unicode

  Alt 11. Feb 2013, 15:30
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

Geändert von bwolf (11. Feb 2013 um 15:33 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz