|
Вопрос # 4 242/ вопрос открыт / |
|
Здравствуйте, эксперты!
Уперся в следующую проблему:
Пишу программу на delphi 2009. База данных с использованием DBExpress и MySql.
В PhpMyAdmin на странице "Переменные и настройки сервера" и в таблицах везде стоит UTF8.
В my.cnf тоже.
В программе дополнительно делаю еще и так:
Users_SQLConnect.ExecuteDirect('set character_set_server='+QuotedStr('utf8'));
Users_SQLConnect.ExecuteDirect('set character_set_connection='+QuotedStr('utf8'));
Users_SQLConnect.ExecuteDirect('set character_set_client='+QuotedStr('utf8'));
Users_SQLConnect.ExecuteDirect('set character_set_results='+QuotedStr('utf8'));
Users_SQLConnect.ExecuteDirect('set character_set_database='+QuotedStr('utf8'));
Стоит задача сделать возможность сохранения данных в разных кодировках (языках), не только в кирилице.
Я пробовал, если поставить ср1251, кирилица сохраняется нормально, но этого не достаточно. Сохранять пробовал по-разному:
edit;
FieldByName('DopPar3_name').AsString:=new_name;
post;
ApplyUpdates(-1);
и
Users_SQLConnect.ExecuteDirect('UPDATE `Table` SET `DopPar3_name` = '+QuotedStr(new_name)+' WHERE `id` =2 LIMIT 1');
Результат сохранения одинаковый.
Как в Delphi 2009 через DBExpress сохранять в MySql в UTF8?
Буду благодарен за любую помощь, подсказку, пример, ссылку!
 |
Вопрос задал: ilnur (статус: Посетитель)
Вопрос отправлен: 29 мая 2010, 19:30
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 1; последнее сообщение — 29 мая 2010, 20:23; участников в обсуждении: 1.
|
ilnur (статус: Посетитель), 29 мая 2010, 20:23 [#1]:
ilnur: Здравствуйте еще раз! Я сам решил свою проблему. Пишу решение, может кому-то еще пригодится...
Необходимо было указать: TSQLConnection.Params ServerCharSet=utf8.
Работает даже без указания
Users_SQLConnect.ExecuteDirect('set character_set_server='+QuotedStr('utf8'));
Users_SQLConnect.ExecuteDirect('set character_set_connection='+QuotedStr('utf8'));
Users_SQLConnect.ExecuteDirect('set character_set_client='+QuotedStr('utf8'));
Users_SQLConnect.ExecuteDirect('set character_set_results='+QuotedStr('utf8'));
Users_SQLConnect.ExecuteDirect('set character_set_database='+QuotedStr('utf8'));
Эти параметры у меня в MySql прописаны, а здесь так в процессе "научного тыка" появились.
Всем удачи!
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|