Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 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 Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: ilnur (статус: Посетитель)
Вопрос отправлен: 29 мая 2010, 19:30
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 1; последнее сообщение — 29 мая 2010, 20:23; участников в обсуждении: 1.
ilnur

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 прописаны, а здесь так в процессе "научного тыка" появились.
Всем удачи!

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 12:01
Выполнено за 0.02 сек.