Дарим чек-лист по подготовке к сезону продаж за подписку на наш телеграм Получить
База знаний
Bodysite.Help — единая база знаний и хаб поддержки по всем продуктам

Ошибка Query Error 1267: Illegal mix of collations (latin1_swedish_ci,IMPLICIT)

Начали использовать плагин интеграции с Яндекс. Маркетом.
При поступлении первого заказа и попытке в него войти поймали ошибку 1267

Query Error 1267: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb4_general_ci,COERCIBLE) for operation '='
Query: SELECT DISTINCT n.* FROM shop_notification n
JOIN shop_notification_params np ON n.id = np.notification_id
LEFT JOIN shop_notification_sources ns ON n.id = ns.notification_id
WHERE n.status = 1
AND (ns.source = 'all_sources' OR ns.source IS NULL OR ns.source = 'Яндекс.Маркет/*')
AND np.name = 'to' AND np.value = 'customer'
## wa-system/database/waModel.class.php(266)
#0 wa-system/database/waModel.class.php(367): waModel->run('SELECT DISTINCT...')
#1 wa-system/database/waDbStatement.class.php(229): waModel->query('SELECT DISTINCT...')
#2 wa-system/database/waModel.class.php(347): waDbStatement->query(Array)
#3 wa-apps/shop/lib/model/shopNotification.model.php(41): waModel->query('SELECT DISTINCT...', '/xD0/xAF/xD0/xBD/xD0/xB4/xD0/xB5/xD0/xBA/xD1/x81./xD0/x9C...')
#4 wa-apps/shop/lib/classes/shopOrder.class.php(1039): shopNotificationModel->getActionTransportsBySource('/xD0/xAF/xD0/xBD/xD0/xB4/xD0/xB5/xD0/xBA/xD1/x81./xD0/x9C...')
#5 wa-apps/shop/lib/classes/shopOrder.class.php(462): shopOrder->readWorkflowActionElements()
#6 wa-apps/shop/lib/actions/order/shopOrder.action.php(36): shopOrder->__get('workflow_action...')
#7 wa-system/controller/waViewAction.class.php(188): shopOrderAction->execute()
#8 wa-system/controller/waViewController.class.php(86): waViewAction->display()
#9 wa-system/controller/waDefaultViewController.class.php(48): waViewController->executeAction(Object(shopOrderAction))
#10 wa-system/controller/waController.class.php(21): waDefaultViewController->execute()
#11 wa-system/controller/waViewController.class.php(46): waController->run(NULL)
#12 wa-system/controller/waFrontController.class.php(263): waViewController->run(NULL)
#13 wa-system/controller/waFrontController.class.php(190): waFrontController->runController(Object(waDefaultViewController), NULL)
#14 wa-system/controller/waFrontController.class.php(84): waFrontController->execute(NULL, 'order', NULL)
#15 wa-system/controller/waDispatch.class.php(157): waFrontController->dispatch()
#16 wa-system/controller/waDispatch.class.php(32): waDispatch->dispatchBackend('shopstaff/shop/')
#17 wa-system/waSystem.class.php(610): waDispatch->dispatch()
#18 index.php(9): waSystem->dispatch()
#19 {main}

Вероятно, на вашем сайте по какой-то причине в некоторых таблицах базы данных используется кодировка latin1_swedish_ci

Из-за того, что большинство скриптов для платформы Shop-script записывает информацию в кодировке utf8_general_ci и возникает эта ошибка.

Измените кодировку таблиц на utf8_general_ci, в частности у таблицы shop_notification_sources.

Как посмотреть через админку, какая сейчас кодировка:

1) Включите режим отладки в настройках сайта:

2) Перейдите в раздел "База данных":

3) Здесь вы можете посмотреть, какую кодировку имеет каждая таблица базы данных:

Поменять кодировку можно очень легко через PHPMyAdmin.

Как поменять кодировку на примере ISPmanager:

Авторизуемся, в левом меню находим пункт "Базы данных":

Выбираем нужную базу данных и кликаем по ней двойным щелчком:

Далее нужно выделить строку с названием базы данных и кликнуть по значку PHPMyAdmin

В левой колонке в строке поиска вводим название таблицы shop_notification

Выберите таблицу shop_notification_sources , далее в верхней части выберите вкладку "Структура", активируйте чекбокс возле строки source, далее в нижней части нажмите "Изменить"

В колонке "Сравнение" нужно выбрать utf8_general_ci

И нажмите "Сохранить":

Инструкция была полезна?
85% считают ответ полезным
Спасибо за обратную связь!
Чтобы добавить комментарий, войдите в личный кабинет
Как правильно обращаться в техподдержку?
Не работает решение, что делать?
Не применяются настройки плагина, почему?
Куда пропали лицензии?
Как интегрировать плагин в мою тему дизайна
Купил плагин, как активировать лицензию?
Как можно получить скидку?
Есть ли тестовый период за продукт
Слетела лицензия что делать?
Не могу настроить CRON, что делать?
Написать в техподдержку
В техническую поддержку входит:
  • Консультации по вопросам приобретения
  • Консультации по функционалу и возможностям
  • Выявление и решение проблем в работе функционала
В техническую поддержку не входит:
  • Настройка решения
  • Доработка под запросы клиента
  • Устранение багов в консультационной форме (без предоставления доступов к сайту)
Платная диагностика:
  • Диагностика сложных и неоднозначных проблем
  • Выявление конфликтов со сторонними решениями
  • Выявление конфликтов в вашей среде сервера
  • Приоритетный срок на обработку тикетов
  • Оплата только банковской картой