|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Delphi7+MySQL=кракозябры
Связываю Delphi7 c Mysql.
Adoquery, ODBC драйвер. База прекрасно вызывается как с этой машины, так и по сети. Но. Отображаются лишь цифры и латиница. Вместо кириллицы идут кракозябры, коие передать я не в состоянии. При начальной настройке Mysql-сервера выбрал тип кодировки cp1251, с нею, если интернеты не врут, Delphi работает без проблем. При работе с Mysql из её консоли кириллица нормально отображается. Подскажите, как решить данную проблему? Смена кодировки методом переконфигурирования сервера, командой set names, переустановка Mysql'я, тесты на другом компе - всё впустую, сам проблему не смог решить. |
#2
|
||||
|
||||
Консоль имеет кодировку OEM-866, если мне не изменяет память. Приведи скриншот кракозябр, строку установки соединения и пример запроса.
Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#3
|
|||
|
|||
Строка соединения:
Provider=MSDASQL.1;Password=please;Persist Security Info=True;User ID=root;Extended Properties="Driver=MySQL ODBC 5.1 Driver;SERVER=localhost;UID=root;PWD=please;DATABA SE=avtodor;PORT=3306";Initial Catalog=avtodor |
#4
|
|||
|
|||
Кракозябры:
http://cs11506.vk.com/u11918007/92262271/x_43c7fa79.jpg Надеюсь, ссылка откроется =) Вместо кракозябр должно быть "Бензопилов". Запрос: 'select * from drivers' Аналогичные кракозябры при попытке вывода информации не только в стринггрид, но и в комбобох. Последний раз редактировалось Nexby, 01.02.2012 в 21:28. |
#5
|
|||
|
|||
В компоненте MyDAC при подключении к базе есть свойства Charset и UseUnicode. Может быть у вас есть что-то подобное.
И не забывай перед запросом про: Код:
('SET NAMES UTF8;') И дело не в том, куда выводишь данные, а в том, как происходит чтение из самой базы. Т.е. ищи грабли в ADO-компонентах. |
#6
|
|||
|
|||
Если посылать 'set names utf8' из Delphi, то вылетает ошибка.
|
#7
|
|||
|
|||
Цитата:
P.S. все отлично работает (MyDAC) |
Этот пользователь сказал Спасибо PhoeniX за это полезное сообщение: | ||
Nexby (06.02.2012)
|
#9
|
|||
|
|||
DJ PhoeniX, низкий тебе поклон.
Дошли вот руки до решения этой проблемы. Нагуглил конверт из 866 в 1251, полчаса повозился с его применением и всё решилось =) Как вспомню сколько часов я мучился, решая эту проблему со стороны MySQL'а - становится грустно. На производительности, конечно, такое решение скажется... но если учесть, что заказчик тестовый вариант ждал позавчера... |