Смена кодировки сайта с windows-1251 на utf-8

905
Алексей,
Смена кодировки сайта с windows-1251 на utf-8

Пошаговая инструкция для конвертации сайта в utf-8 на 1С-Битрикс

Пошаговая инструкция для конвертации сайта в utf-8 на 1С-Битрикс:
  1. Первую конвертацию делаем на тестовой копии сайта.
  2. Делаем полную резервную копию сайта (для теста необязательно)
  3. Удаляем модули "Поиск", "Перевод", "Веб-аналитика" без сохранения таблиц
  4. Меняем в региональных настройках сайта кодировку с windows-1251 на utf-8. (/bitrix/admin/site_admin.php)
  5. В /bitrix/php_interface/dbconn.php добавляем
    define("BX_UTF", true);
  6. В корневую директорию сайта загружаем скрипт convert_utf8.php и запускаем его. Иногда в скрипт не подтягивается название таблицы БД, можно прописать заранее вручную в коде скрипта.
  7. В /bitrix/php_interface/after_connect.php добавляем/меняем
    $DB->Query("SET NAMES 'utf8'");
    $DB->Query('SET collation_connection = "utf8_unicode_ci"');
  8. В /bitrix/php_interface/after_connect_d7.php добавляем
    $this->queryExecute("SET NAMES 'utf8'");
    $this->queryExecute('SET collation_connection = "utf8_unicode_ci"'); 
  9. В /bitrix/.settings.php меняем
    'utf_mode' => 
    array (
    	'value' => true,
    	'readonly' => true,
    ),
  10. В /bitrix/php_interface/dbconn.php добавляем
    mb_internal_encoding('UTF-8');
  11. Настраиваем веб-сервер.
    php_value default_charset utf-8
    AddDefaultCharset utf-8
    // и т.п. Проверка сайта подскажет что еще нужно поменять /bitrix/admin/site_checker.php
  12. Делаем рез. копию БД.
  13. В корневую директорию сайта загружаем скрипт convert_serialize.php, пока НЕ запускаем
  14. Смотрим есть ли свойства инфоблоков, хранящиеся в отдельных таблицах (b_iblock_element_prop), если есть, добавляем их в convert_serialize.php (в коде есть примеры)
  15. Конвертируем сериализованные данные в БД с помощью скрипта convert_serialize.php (выполняем convert_serialize.php)
  16. Устанавливаем удалённые модули, делаем полную переиндексацию.
  17. Удаляем весь кеш сайта
  18. Проверяем сайт, если всё прошло успешно, повторяем на боевом сайте.

Сконвертировал несколько сайтов по данному алгоритму, всё прошло успешно. Но, битрикс постоянно обновляется, т.ч. со временем могут добавиться новые нюансы.

Есть вопросы или нашли ошибку? Напишите комментарий (можно без регистрации), отвечать стараюсь быстро.

Опубликовано 19 мая 2023 | Обновлено 31 мая 2023
конвертация, windows-1251, utf8, кодировка
Поделиться
Комментарии
❮…❯
Авторизуйтесь чтобы получать уведомления об ответе
Пошаговая инструкция для конвертации сайта в utf-8 на 1С-Битрикс