Вниз
Скачать: 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.035 c
4-1092132179
Admin
2004-08-10 14:02
2004.09.26
Как прилепить DLL чужому процессу


4-1092439003
SSSSS
2004-08-14 03:16
2004.09.26
Как на API переводить строки в Float и наоборот? Это возможно?


14-1094801301
Kray
2004-09-10 11:28
2004.09.26
Установка своего компонента


1-1094972135
Navi
2004-09-12 10:55
2004.09.26
Владелец коллекции


1-1094718598
V l a d i m i r
2004-09-09 12:29
2004.09.26
Если запущен Word, как активировать только что созданный документ




   Наверх