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:
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;