Доброго времени суток, Форумчане!
Так что-то с ней делать вообще? Погнали разбираться!
В моём случае помогло следующее решение , вот буквально сегодня:
получили ошибку "Кодировка базы (utf8mb4) отличается от кодировки соединения (utf8mb3)." при выполнении проверки в админпанели КП-50
Первое что проверили и попали в точку - скорректировали файл /bitrix/php_interface.after_connect_d7.php и привели его к такому виду:
Код |
---|
<?php /* Ansible managed */ $connection = \Bitrix\Main\Application::getConnection(); $connection->queryExecute("SET NAMES 'utf8mb4'"); $connection->queryExecute("SET collation_connection = 'utf8mb4_unicode_ci'"); |

ВНИМАНИЕ!!! Всё операции, особенно те что впереди НАСТОЯТЕЛЬНО рекомендую выполнять только:
а) Если вы понимаете что делаете
б) после полного дампа баз данных:
Код |
---|
mysqldump -u username -p basename > base_backup.sql |
Но мы будем считать, что перед экраном человек понимающий что такое GRANT PROCESS ON *.* TO....
Создали дамп.
далее грузимся в терминал сервера и печатаем
Код |
---|
nano /tmp/convert_utf8mb4.sql |
(ВНИМАНИЕ!!! DBNAME - заменить на имя вашей базы данных, в скрипте встречается 6 раз)
В редакторе nano нажимаем ctrl+O ENTER, затем ctrl+X ENTER
Далее авторизуемся в sql:
Код |
---|
mysql -u {имя юзера} -p -h localhost |
Код |
---|
USE bd_name |
Код |
---|
SOURCE /tmp/convert_utf8mb4.sql; |
У МЕНЯ ЗАНЯЛО ОКОЛО 70 минут
После выполнения все вышеизложенных действий идём в админку и проверяем результат запустив ТЕСТ:
РЕЗУЛЬТАТ - Кодировки победили.
Ну а далее, вероятнее всего будут ошибки в структуре БД. исправить можно почти всегда без проблем, просто заглянув в журнал проверки.
В конце будут примеры запросов для исправления.
И вот, после небольших танцев с исправлением оставшихся ошибок получаем результат в виде зелёных строчек!
Надеюсь статья была полезна, буду благодарен за лайк. Обязательно подписывайтесь и задавайте свои вопросы, многие ситуации будем разбирать и публиковать решения.
Если вы заметили неточность или ошибку, также буду благодарен за обратную связь.
Изменено: Иван Кавальков - 03.07.2025 05:14:09
Технологии – это не будущее. Это единственное настоящее