hallo zusammen,
in meiner mysqldatenbank habe ich standardmässig den zeichensatz latin1_general_ci eingestellt.
Wenn ich aber aus Lazarus heraus mit ZEOS Umlaute in die Datenbank schreibe, stehen dort zb anstatt ü ü im feld.
beim Auslesen mit Lazarus stimmt zwar das ü, beim export oder bei der ansicht uber mysql steht dort eben dieses ü
Deshalb habe ich gedacht, dass die Zeichensätze nicht übereinstimmen, oder liege ich da falsch?
was ist sonst die Ursache ?
Gruss Kh
Zeos und zeichensatz
-
- 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:
Re: Zeos und zeichensatz
Das was du da siehst sind UTF-8 Steuerzeichen, Du musst an der Datenbank eher den zeichensatz einstellen den deine Anwendung benutzt und das ist im Lazarus nunmal durchgängig UTF-8 es sei denn du konvertierst es vor dem schreiben in die Datenbank selbst.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Beiträge: 489
- Registriert: Sa 5. Apr 2008, 09:37
- OS, Lazarus, FPC: Win Vista,Win 7 (L 0.9.29 FPC 2.4.1)
- CPU-Target: 32Bit /64 Bit
- Wohnort: Nähe Freiburg i.Br.
Re: Zeos und zeichensatz
hallo Christian,Christian hat geschrieben:Das was du da siehst sind UTF-8 Steuerzeichen, Du musst an der Datenbank eher den zeichensatz einstellen den deine Anwendung benutzt und das ist im Lazarus nunmal durchgängig UTF-8 es sei denn du konvertierst es vor dem schreiben in die Datenbank selbst.
welche UTF-8 Einstellung ist die Richtige?
ich hab dänisch, bin, latin ausprobiert, aber keine dieser Einstellungen hat etwas am Problem geändert

Gruss KH
-
- Beiträge: 131
- Registriert: Sa 5. Apr 2008, 17:57
- OS, Lazarus, FPC: Linux (Debian, Xubuntu), MacOS X, MS Win, Android, Web
- CPU-Target: 32Bit/64Bit
- Wohnort: Ulm
Re: Zeos und zeichensatz
hallo,
die Einstellungen, die Du da erwähnst sind keine UTF8 Codepages.
Hier ein Beispiel wie Du auf UTF8 umstellen kannst. Das bringt aber Nichts wenn die Table in MySQL bezüglich der Collation auf "latin1_general_ci" steht.
Es gibt bei Zeo die Möglichkeit die Codepage explizit zu setzen. Und zwar in der ZConnection:
ZConnection_main.Disconnect;
ZConnection_main.Properties.Clear;
// UTF8 Codepage
ZConnection_main.Properties.Add('codepage=utf8');
// oder auf Latin1 umstellen
ZConnection_main.Properties.Add('codepage=latin1');
ZConnection_main.Connect;
Grundsätzlich immer, wie Christian schon geschrieben hat, darauf achten, dass die Anwendung und die DB-Tabellen die gleiche Codepage benutzen.
Aufpassen musst Du nur wenn Du BLOBs in eine MySQL Tabelle schreiben möchtest. Da hatten wir Probleme wenn ein bestimmtes Codepage Settiing über die ZConnection Properties festgelegt wurde. Daher deaktivieren wir immer die ZConnection Properties vor dem Schreiben eines BLOBs und aktivieren das Codepage Setting nachher wieder.
Ich weiss noch nicht ob das Problem mit der aktuellen Zeos und der aktuellen FPC/Lazarus Version auch auftritt aber lieber Vorsicht walten lassen...
Gruss,
Piper
die Einstellungen, die Du da erwähnst sind keine UTF8 Codepages.
Hier ein Beispiel wie Du auf UTF8 umstellen kannst. Das bringt aber Nichts wenn die Table in MySQL bezüglich der Collation auf "latin1_general_ci" steht.
Es gibt bei Zeo die Möglichkeit die Codepage explizit zu setzen. Und zwar in der ZConnection:
ZConnection_main.Disconnect;
ZConnection_main.Properties.Clear;
// UTF8 Codepage
ZConnection_main.Properties.Add('codepage=utf8');
// oder auf Latin1 umstellen
ZConnection_main.Properties.Add('codepage=latin1');
ZConnection_main.Connect;
Grundsätzlich immer, wie Christian schon geschrieben hat, darauf achten, dass die Anwendung und die DB-Tabellen die gleiche Codepage benutzen.
Aufpassen musst Du nur wenn Du BLOBs in eine MySQL Tabelle schreiben möchtest. Da hatten wir Probleme wenn ein bestimmtes Codepage Settiing über die ZConnection Properties festgelegt wurde. Daher deaktivieren wir immer die ZConnection Properties vor dem Schreiben eines BLOBs und aktivieren das Codepage Setting nachher wieder.
Ich weiss noch nicht ob das Problem mit der aktuellen Zeos und der aktuellen FPC/Lazarus Version auch auftritt aber lieber Vorsicht walten lassen...
Gruss,
Piper
-
- Beiträge: 489
- Registriert: Sa 5. Apr 2008, 09:37
- OS, Lazarus, FPC: Win Vista,Win 7 (L 0.9.29 FPC 2.4.1)
- CPU-Target: 32Bit /64 Bit
- Wohnort: Nähe Freiburg i.Br.
Re: Zeos und zeichensatz
ich danke dir,habe es ausprobiert, klappt super
Gruss KH

Gruss KH
-
- Beiträge: 489
- Registriert: Sa 5. Apr 2008, 09:37
- OS, Lazarus, FPC: Win Vista,Win 7 (L 0.9.29 FPC 2.4.1)
- CPU-Target: 32Bit /64 Bit
- Wohnort: Nähe Freiburg i.Br.
Re: Zeos und zeichensatz
sollte natürlich heissen utf8_danish_ci etc.piper62 hat geschrieben:hallo,
die Einstellungen, die Du da erwähnst sind keine UTF8 Codepages.
Gruss,
Piper