Autor Beitrag
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Mo 25.05.09 12:01 
Hallo,

ich programmiere einen Vokabeltrainer, der auch Esperanto trainieren kann. Dort gibt es auch Zeichen wie ĉĝĥĵŝŭ. Die Datenbank kann die Zeichen speichern, mit phpMyAdmin und dem Firefox klappt alles ohne Probleme.

Im Programm verwende ich TntEdits und einen VirtualStringTree zur Anzeige. Als Datenspeicher werden WideStrings eingesetzt. An einer Stelle hakt es jedoch: Bei der Verbindung zum MySQL-Server werden nämlich nur normale Strings eingesetzt. Die können zwar Umlaute, französische Akzente (à, é usw.) und das spanische ñ speichern, nicht aber ĝ, ŝ usw. Ich kann aber auch nicht die ganzen MySQLdirect-Komponenten umkrempeln.

Kennt ihr eine (kostenlose!) Komponente, die mit allen Unicode-Zeichen umgehen kann?

Die Alternative wäre, Unicode-Strings vor dem Übertragen zu escapen. Ist das mit MySQL irgendwie möglich? Ich habe einen Artikel gefunden, der beschreibt, wie man aus ä ein ä macht (www.uni-erfurt.de/co...oders/mysql/unicode/), aber bei mir wird ja aus dem ĉ einfach ein c, da ist nichts mehr herauszuholen.

Danke für eure Mühe!

Grüße,
Yogu
Yogu Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Mi 27.05.09 23:18 
Hallo,

ich hab jetzt eine unschöne Überganslösung gefunden: Mit UTF8EncodeString mache ich aus Sonderzeichen zwei codierte Zeichen, die ich mit UTFDecodeString wieder auseinander nehme. Allerdings stehen in der Datenbank jetzt ziemlich komische Zeichenkombinationen drin, die zum Beispiel bei Abfragen über PHP zu Problemen führen können (Die Abfrage übers Internet mit PHP ist durchaus denkbar bei meinem Vokabeltrainer!).

Ich suche also immer noch nach einer Möglichkeit, den encodierten String in MySQL wieder zu normalem Unicode werden zu lassen. Danke schonmal für eure Mühe!

Grüße,
Yogu