Бекап (без сохранения поискового индекса и таблиц статистики);
Проверка системы, чтобы не было ошибок — Параметры настройки UTF (mbstring и константа BX_UTF) Пример настроек под windows-1251
Таблицы в InnoDB
Оптимизировать таблицы
Обновить Битрикс
Удалить «Поиск» и «Веб-аналитика» без сохранения таблиц;
Региональные настройки UTF-8
До версии 20.100.0
mbstring.func_overload 2 mbstring.internal_encoding UTF-8
php.ini (если Beget - изменить в настройках хостинга)
default_charset = "utf8"
.htaccess (если виртуальный)
php_value default_charset utf-8 php_value mbstring.internal_encoding UTF-8
dbconn.php
define("BX_UTF", true);
.settings.php
utf_mode => array( 'value' => true, 'readonly' => true, ),
Конвертировать файлы:
Скрипт оригинал
Скрипт без mbstringВ Adminer - поменять кодировку базы на utf8_unicode_ci
Если ошибка «MySQL Query Error!», конвертируем через: Adminer
SELECT CONCAT('ALTER TABLE `', t.`TABLE_SCHEMA`, '`.`', t.`TABLE_NAME`, '` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;') as sqlcode FROM `information_schema`.`TABLES` t WHERE 1 AND t.`TABLE_SCHEMA` = '_______' ORDER BY 1
after_connect.php
$DB->Query("SET NAMES 'utf8'"); $DB->Query('SET collation_connection = "utf8_unicode_ci"'); $DB->Query("SET sql_mode=''");
after_connect_d7.php
$connection = Bitrix\Main\Application::getConnection(); $connection->queryExecute('SET NAMES "utf8"'); $connection->queryExecute('SET collation_connection = "utf8_unicode_ci"'); $connection->queryExecute("SET sql_mode=''"); $connection->queryExecute("SET innodb_strict_mode=0");
Сбросить весь кеш;
Выйти и зайти, чтобы обновить данные сессии;
Проверка системы — исправить ошибки;
Установить «Поиск» и сделать переиндексацию;
Установить «Веб-аналитика», если был ранее;
Удалить convert_utf8.php и adminer
Конвертация из Windows-1251 в UTF-8 в Битрикс
Решение, как перевести сайт на Битрикс из кодировки cp1251 в UTF-8
Решение:
Похожие решения:
Комментарии (0)