Ich habe eine Datenbanktabelle in MySQL mit einem Feld varchar(50)-utf8_general_ci und mit text-utf8_general_ci angelegt.
Ich greife auf die Datenbank mit ZEOS-Komponenten zu.
Bei dem Feld mit "varchar" kommen die Umlaute richtig, bei dem Feld mit "text" ist das nicht der Fall.
"SET CHARACTER SET `utf8`;" und "SET NAMES "utf8" habe ich vorher gesendet.
In der Datenbank steht z.b. 'ABC äöü'.
Ein
Code: Alles auswählen
for i:=1 to length(s) do writeln(i:1,s[i]:3,ord(s[i]):5);
Feld vom Typ varchar (ftString) =richtig:
Code: Alles auswählen
ABC äöü
1 A 65
2 B 66
3 C 67
4 32
5 ├ 195
6 ñ 164
7 ├ 195
8 Â 182
9 ├ 195
10 ╝ 188
Feld vom Typ "text" (ftMemo) = falsch:
Code: Alles auswählen
ABC ???
1 ' 39
2 A 65
3 B 66
4 C 67
5 32
6 õ 228
7 ÷ 246
8 ³ 252
Auch der Versuch das mit AnsiToUtf8() umwandeln zu wollen, schlägt fehl.
Hat jemand Erfahrungen, wie ich die Umlaute auch aus einem Feld vom Typ Text richtig bekomme?