Вниз
Скачать: CL | DM;

Unicode+ADO+Mysql   Найти похожие ветки 

 
=Far_Away=   (2004-08-27 13:28) [0]

Использую в Delphi 6 Unicode ADO (TntADOxxx) компоненты.
Через MyOLEDB провайдер или OLEDB provider for ODBC + MyODBC.

Не удаётся сделать INSERT или SELECT Unicode строки. "Уникодовые" символы превращаются в "обычные".

При этом аналогичные запросы успешно выполняются на PHP.

Посоветуйте как можно работать c Unicode в Delphi+MySQL. Может нужен другой драйвер?

Delphi 6, MySQL 4.1.5, MyODBC 3.51, MyOLEDB 3.0


 
=Far_Away=   (2004-08-28 00:40) [1]

Невероятно! Я нашла решение и у меня всё работает. Итак, тем, кому вдруг придётся мучаться с уникодом:

Использую в Delphi 6 Unicode ADO (TntADOxxx) компоненты.
Использую MyODBC 3.51, OLEDB provider for ODBC.
Использую MySQL 4.1.5, charset нужных полей при создании таблиц указываю utf8.
Чтобы всё работало, в my.ini указала значение переменной character_set_server=utf8. Не забудьте перезегрузить mysql сервер!
Теперь в update/insert запросах надо писать так:

UPDATE table SET field="+utf8Encode(TntEdit1.text)+" WHERE ...

В select запросах ничего особого не надо, но к возвращаемым записям надо обращаться так:

tntEdit1.text:=utf8Decode(TntAdoQuery["field"]).

Вот и все мудрости. А как я парилась... Зато моя система теперь полноценно многоязычная. :) Даже приятно...



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.042 c
14-1094383441
Voland
2004-09-05 15:24
2004.09.26
Как можно улучшить этот код


3-1093850711
ydv
2004-08-30 11:25
2004.09.26
глюки PReport


3-1093525674
REA
2004-08-26 17:07
2004.09.26
Каскадное удаление дерева


14-1094412910
Soft
2004-09-05 23:35
2004.09.26
Технические проблемы с совестью.


14-1094465614
matt
2004-09-06 14:13
2004.09.26
USB разъемы




   Наверх