Начали использовать плагин интеграции с Яндекс. Маркетом.
При поступлении первого заказа и попытке в него войти поймали ошибку 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
И нажмите "Сохранить":
Услуги
Продукты
Кейсы
Блог
О нас
Акции
Bodysite.Club
Контакты