Хостинг для 1С Битрикс
+7 (495) 128-79-91
BXHosting.ru

Процесс кодировки сайта 1С-Битрикс

27.03.2022

После перехода с устаревшего серверного программного обеспечения (например, версии PHP) на новое серверное программное обеспечение Вы иногда сталкиваетесь с проблемами кодирования на сайте.

Например!

Код 1251 не имеет ничего общего с PHP до версии 5.6. В связи с этим необходимо изменить кодировку на UTF-8, которая является стандартом для последней версии PHP.

Если ваш сайт работает с кодировкой 1251 до перехода на наш хост, вы увидите примечание: Сайт работает с однобайтовой кодировкой при проверке системы. Чтобы решить эту проблему, вам нужно преобразовать сайт в UTF-8 или изменить обработчик PHP на кодировку 1251.

Выполните следующий алгоритм действий в зависимости от ситуации:

  1. Если на странице /bitrix/admin/site_checker.php отображается ошибка, исправьте настройку базы данных в панели 1С Битрикс: Ошибка! Базовый код (utf8) отличается от кода подключения (cp1251). [Исправленный]
  2. Если операция не удалась, попробуйте снова выполнить исправления.

Редко вам может потребоваться исправить это вручную через phpMyAdmin.

В разделе База данных панели хостинга перейдите в базу данных вашего сайта. После перенаправления на phpMyAdmin перейдите в раздел Действия и выберите utf-8_general_ci в блоке Сравнить. Щелкните Вперед.

Отредактируйте php.ini для выбранной версии в режиме PHP вашего сайта:

Обратите внимание, что в настройках php.ini для выбранной версии PHP вашего сайта установлены следующие значения:

Для варианта конвертации в utf-8:

mbstring.func_overload = 2

mbstring.internal_encoding = utf-8

default_charset = "utf-8"

Для варианта без конвертации (остается кодировка 1251):

mbstring.func_overload = 0

mbstring.internal_encoding = cp1251

default_charset = "cp1251"

Для однобайтовой кодировки (1251) также потребутеся отключить кодировку UTF-8 в панели хостинга в разделе "WWW-домены":

Далее необходимо в файлах системы 1С-Битрикс установить необходимую кодировку ленты:

Для вариантов преобразования utf-8:

В /bitrix/php_interface/dbconn.php должно быть значение: define('BX_UTF', true);

В /bitrix/.settings.php должно быть значение: 'utf_mode' => array ('value' => true, 'readonly' => true,),

Для варианта без преобразования (остается кодировка 1251):

В /bitrix/php_interface/dbconn.php полностью удалить значение: define('BX_UTF', true);

В /bitrix/.settings.php должно быть значение: 'utf_mode' => array ('value' => false, 'readonly' => true,)