Datagrid Zeichensatz

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
Alfred
Beiträge: 101
Registriert: Do 22. Nov 2007, 20:06
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: München

Datagrid Zeichensatz

Beitrag von Alfred »

Wenn ich mir mit dem MySQL QueryBrowser auf dem selben Rechner die Daten ansehe,
dann sind die Deutschen Sonderzeichen ok.

Die MySQL-Tabellen wurden mit latin1 angelegt.

Im Datagrid sind die Sonderzeichen nicht richtig. Kann man dies im Lazarus oder
dem Datagrid einstellen dass er latin1 anzeigt?

Betriebssystem hier: fc6.

Gruß
Alfred

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Nein, das DBGrid erwartet UTF8.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Alfred
Beiträge: 101
Registriert: Do 22. Nov 2007, 20:06
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: München

Beitrag von Alfred »

Jetzt habe ich die Datenbank in utf8 angelegt, fc6 hat de_De.UTF-8 und trotzdem
erhalte ich im Datagrid für Sonderzeichen ?.

Gruß
Alfred

baba
Beiträge: 265
Registriert: Mi 4. Apr 2007, 17:47

Beitrag von baba »

Moin moin,

ich habe ein ähnliches Problem mit alten DOS-Anwendungen. Die liefern ASCII statt ANSI und so Umlaute in einer anderen Codierung.

Ich löse es über "OnDrawColumnCell" - dort setze ich die Umlaute einfach um.

Vielleicht hilft es ja?

Gruß
Baba.

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Was für ein Widgetset benutzt du denn es ist auch noch von der Systemkodierung abhängig
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Alfred
Beiträge: 101
Registriert: Do 22. Nov 2007, 20:06
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: München

Beitrag von Alfred »

@christian gtk2

Mein erster Denkfehler ist wohl, dass ich unterstellt habe, dass der create database testutf8
den Zeichensatz der Servermaschine(/etc/sysconfig/i18n Lang="de_DE.UTF-8") verwendet.
Dem ist nicht so. In der /var/lib/mysql/testutf8/db.opt einer neue angelegten Datenbank
steht default-charcter-set=Latin1.

Gruß
Alfred

Alfred
Beiträge: 101
Registriert: Do 22. Nov 2007, 20:06
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: München

Beitrag von Alfred »

Ich habe zwischenzeitlich erreicht, dass die MySQL-Datenbank als auch die
Tabellen den richtigen Zeichensatz verwenden.

Mein Problem ist nun noch, dass der Zugriff von Linux in eine UTF8 DB und Tabelle
UTF8 schreibt, der Zugriff von Windows-XP jedoch Latin1 hineinschreibt.

In eine Latin1 DB und Tabelle schreibt der Linux-Client ebenfalls UTF8.

Mir würde es genügen wenn einer von den 2 Clients den Zeichensatz des anderen
in die Datenbank schreibt.

Was bewirkt den die Eigenschaft Charactersetz in MySQL50Connection?

Gruß
Alfred

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

-dUseWindowsUnicode

ist glaub ich der Schalter der das Win32/64 Widgetset mit Unicode übersetzt.
Brauch aber n Lazarus ausm SVN und n fpc 2.2.1 mit fixes.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Antworten