Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Ошибка при выполнении ХП на сервере / 8 сообщений из 8, страница 1 из 1
05.12.2014, 14:45:43
    #38826294
Zhekius
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при выполнении ХП на сервере
Есть хранимая процедура с параметрами на сервере.
При заполнении одного из параметров русскими символами (который, естественно, ссылается на столбец с заполненными русскими символами, другими словами, делает выборку) исполнение процедуры выдает ошибку:
Incorrect string value: '\xD1\x8B....' for column at row 1 и название параметра.
При условии заполнения латинскими буквами - всё ок.
Тип запрашиваемого столбца VarChar (255). Кодировка БД по умолчанию UTF(8)

Что исправить в кодировке? И какую задать по умолчанию на БД?
...
Рейтинг: 0 / 0
05.12.2014, 16:18:44
    #38826420
Zhekius
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при выполнении ХП на сервере
добалю:
ошибка идет по входному параметру ТИП varchar(255)
Изменил тип параметра на varbinary(255) - запрос исполняется без ошибок, но результат нулевой, т.е. в тестовом режиме я задаю значение параметра заранее известное и которое возвращать должно не нулевое значение. Возвращается нулевое значение.

Убрал параметр, сделал константой (символы так же - русские), исполнил процедуру - значение вернулось не нулевое.
Очевидно - проблемы кодировки.
Вопрос: Где ошибка кодировки? в ХП? или в Базе данных.
...
Рейтинг: 0 / 0
05.12.2014, 16:44:04
    #38826457
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при выполнении ХП на сервере
ZhekiusПри заполнении одного из параметров русскими символами (который, естественно, ссылается на столбец с заполненными русскими символами, другими словами, делает выборку) исполнение процедуры выдает ошибку:
Incorrect string value: '\xD1\x8B....' for column at row 1 и название параметра.Кодировка реально передаваемой строки явно однобайтовая, т.е. не UTF8.
...
Рейтинг: 0 / 0
05.12.2014, 17:00:42
    #38826482
Zhekius
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при выполнении ХП на сервере
Как быть?
Изменить кодировку БД?
...
Рейтинг: 0 / 0
05.12.2014, 17:26:53
    #38826511
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при выполнении ХП на сервере
ZhekiusКак быть?Передавать строку в кодировке UTF8.
Эта строка откуда происходит?
...
Рейтинг: 0 / 0
08.12.2014, 14:53:57
    #38828102
Zhekius
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при выполнении ХП на сервере
авторПередавать строку в кодировке UTF8.
Эта строка откуда происходит?
DBForge Studio for My SQL
В разделе процедур. Запуск и отлатка оттуда же.
Параллельно работа и отладка приложения в ADO средствами Delphi через драйвер MyODBC. Проблема одинакова и в менеджере баз данных и в Delphi
...
Рейтинг: 0 / 0
08.12.2014, 15:46:39
    #38828169
Zhekius
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при выполнении ХП на сервере
miksoft: спасибо, на нужные мысли направляешь )
Зри в корень, как говорится.
В общем, решил включить режим отладки. Поглядел, что вместо значения ХЛЕБ в переменной лежит ???? (ну или какие-то такие значки).
Почитал статейку Глава 10_ Поддержка наборов символов MySQL.mht (...блин, локально сохранилась, найдете если что)
и после присвоения значения в переменную написал значение COLLATE utf8_unicode_ci, т.е. кусок кода цитирую из хранимой процедуры:

..................
SELECT Field1, Field2 FROM Table1
WHERE Field2 = ParamIN COLLATE utf8_unicode_ci
INTO ParamOUT

Переменную ParamIN оставил как VarChar.
Вот.
Что здесь еще можно исправить?
...
Рейтинг: 0 / 0
08.12.2014, 15:47:46
    #38828172
Zhekius
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при выполнении ХП на сервере
Всмысле, заработало все это творение как положено ))
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Ошибка при выполнении ХП на сервере / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]