Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Problem mit Delphi XE, MySQL und Codepage (https://www.delphipraxis.net/158135-problem-mit-delphi-xe-mysql-und-codepage.html)

k0ppki11ah 7. Feb 2011 13:24

AW: Problem mit Delphi XE, MySQL und Codepage
 
Zitat:

Zitat von mkinzler (Beitrag 1080046)
Delphi-Quellcode:
s: AnsiString;
...
    s := memo1.lines.text;
    zquery1.fieldbyname('MEMO').Value := s;

Habe ich ausprobiert. Geht aber auch nicht.

In meinem Testprojekt werden die Daten korrekt in die DB geschrieben. Querys, die Umlaute enthalten, funktionieren aber auch nicht.
Versuche ich das gleiche in dem richtigen Projekt, kriege ich wieder den Fehler:
(SQL-Error:Incorrect string value \xf6\xf6\xf6) für den Eintrag ööö im Memo-Feld

k0ppki11ah 8. Feb 2011 13:54

AW: Problem mit Delphi XE, MySQL und Codepage
 
Fall es noch jemand interessieren sollte:
Ich habe anscheinend eine Lösung für das Problem gefunden.

In der JCL gibt es eine Unit JclStringConversions, die eine Funktion AnsiStringToUtf8() enthält.
Wenn man den komplett zusammengesetzten Query vor dem absetzen mit dieser Funktion umwandelt, funktionieren auch Abfragen, in denen Umlaute enthalten sind.
Die Funktion AnsiStrToUtf8() von Delphi hat an dieser Stelle nicht funktioniert.

Das einzige Problem, das ich bis dato festgestellt habe, tritt bei DB-Memos auf. Diese arbeiten anscheinend nicht mit dem UTF zusammen. Das lässt sich aber umgehen, in dem man ein normales TMemo-Feld verwendet, in das man die Daten per Konvertierung durch die Funktion UTF8ToAnsiString reinlädt:
Delphi-Quellcode:
memo1.lines.text := UTF8ToAnsiString(zquery1.fieldByName('MEMO').AsAnsiString);
Speichern kann man das Memo dann über:
Delphi-Quellcode:
zquery1.edit;
   zquery1.fieldByName('MEMO').asAnsiString := JclStringConversions.AnsiStringToUTF8(memo1.lines.text);
zquery1.post;


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:39 Uhr.
Seite 2 von 2     12   

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