Создал базу данных для Битрикс, влил в неё дамп, сайт работает.
Но при обновлении Битрикс, при установке модулей и при некоторых других действиях часто возникают проблемы с COLLATION. Или вообще часть данных показывается вопросиками '?????????'. Или время от времени возникают ошибки в проверке системы.
Как сделать так, чтобы проблемы не возникали?
Ответ:
Нужно установить кодировку базы данных при создании
Проблема может возникать из-за того, что на сервере MySQL кодировка по умолчанию latin1
(это частая ситуация). Дамп вливается нормально и сайт работает, потому что в дампе для каждой таблицы прописана корректная кодировка. Но когда создаются новые таблицы, то их кодировка выставляется в значение по умолчанию, то есть в latin1
. В результате всё, связанное с этими таблицами, начинает плохо работать.
Решение - выполнить команду:
alter database НАЗВАНИЕ_БД character set utf8 collate utf8_unicode_ci;
Это можно выполнить либо сразу при создании БД, либо уже позже. Действовать будет на новые создаваемые таблицы.