![]() |
Модераторы: skyboy |
![]() ![]() ![]() |
|
psyco |
|
||||||||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 6.12.2008 Репутация: нет Всего: нет |
Добрый день! Есть БД на MySQL Server 5.1. В Delphi подключаюсь к ней с помощью TADOConnection(в общем это не важно, так как работа с БД происходит без ошибок). Пытаюсь добавить данные в таблицу на русском языке и выбивает всем Вам извесная ошибка: "Incorrect string value: '\xD0\xA2\xD0\xB5\xD0\xBA...' for column ...". Начал искать решение, вот что я сделал:
1.Настроил файл my.ini как описано в этой статье Статья 2.Изменял кодировки на cp1251 и на utf8 3.Всегда проверял с помощью sql-запроса установленные кодировки:
4.
5.
6.Пробовал вставлять данные на русском с помощью клиента Navicat Lite - та же ошибка "Incorrect string value: '\xD0\xA2\xD0\xB5\xD0\xBA...' for column ..." Вставляю данные в виде: INSERT INTO department(dep_name) VALUES('Отдел1'); Привожу в пример свой настроенный файл my.ini:
Помогите мне с решением, буду благодарен любой помощи. |
||||||||
|
|||||||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 41 Всего: 260 |
не надо мучать конфиг.
для того, чтоб работать с данными в UTF-8 должно быть достаточно:
и не надо сначала один set names ставить, а затем - другой. не надо мучать конфиг. только параметры подключения. если это не поможет, то я лучше перекину в "Delphi: базы данных и репортинг", а то вдруг окажется, что ADO не дает отпработать SET NAMES, а кодировку надо указывать в параметрах объекта подключения. |
|||
|
||||
psyco |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 6.12.2008 Репутация: нет Всего: нет |
Спасибо Вам за помощь, я наконец-то добил эту проблему, хоть до конца и не понимаю как. Через клиент Navicat я изменил параметр Character set моей БД, всех таблиц и полей на cp1251(через командную строку MySQL мне кажется он не сохранялся, или работал не коректно). И еще, что кстати не менее важно - при подключении к БД в среде Delphi в конце строки подключения я указал: "charset=cp1251;". Видимо, подключаясь, Delphi использует свою стандартную кодировку(может быть latin1(?)). И теперь я без проблем додаю данные на русском и отображаю их.
Спасибо Вам, skyboy, за то, что откликнулись! |
|||
|
||||
malor |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 632 Регистрация: 17.11.2006 Репутация: нет Всего: нет |
![]() Вы здесь указали? У меня в Delphi XE такие вещи: ![]() Загружал в комбобокс из базы. Если сделать в cmd-консоли SELECT-выборку, то отобразится кириллица нормально. В SQL-Front - каракули. my.ini [mysql] default-character-set=cp1251 Что предпринять браза? MySQL 5.5, SQL-Front 5.1 P.S. Похожие темы: MySQL выдает иероглифы вместо русских букв Проблема с кодировкой Mysql! DBexpress, delphi7 MySQL5, Delphi7, utf8, В проге показываются каракули |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MySQL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |