lazarus selbst hat ganz sicher kein Problem mit UTF8, das kann ich sehr sicher sagen und im Zusammenspiel mit Firebird und Anbindung über die serienmäßigen SQLDB Komponenten gilt das auch für diese Kombination. Auch Tests mit sehr exotischen Inhalten sind da sowohl in Blob und varchar Felder korrekt gespeichert und im TEdit oder TMemo auch 100% sauber dargestellt.
Ich hatte aber mal Versuche mit den devart Komponenten für lazarus gemacht, und auch da gab es seltsame Doppelcodierungen bei Blobs, d.h. ein Euro Zeichen zum Beispiel wurde beim speichern erst mal in den 3 Byte langen code übersetzt und die daraus resultierenden Zeichen wurden vor dem Eintrag in die
DB noch mal codiert, so das am Ende 9 Byte in der
DB standen. Beim Auslesen hat die devart Komponente immerhin den gleichen Mist wieder umgekehrt doppelt dekodiert udn das richtige angezeigt. In allen anderen Programmen wie zum Beispiel IBExpert stand in der
DB dann aber nur Müll.
Ich bin dann schnell wieder zurück zu
SQL DB und hab seitdem auch nie wieder andere Komponenten gebraucht, was auch deshalb praktisch ist, weil die SQLDB in jeder Lazarus Version auf jeder Plattform enthalten ist.
Ich würde also bei deiner Kombination auch mal die benutzte
DB Komponente hinterfragen