GalaxyData Community

Как конвертировать сайт на «Битрикс» из cp1251 в UTF-8

Издержки свободы выбора. За те годы, пока преимущества формата UTF-8 сделались очевидны большинству разработчиков и многим заказчикам, были произведены многие тысячи сайтов в кодировке cp1251. Со временем их владельцы приходят к пониманию выгод использования UTF-8 и принимают решение сменить кодировку материалов сайта. Как это сделать на практике?

1. Подготовка

Конвертацию выполняет модуль mbstring. Для его работы необходимо установить параметр

mbstring.func_overload 2

Если вы используете для хостинга VPS-сервер, то параметр легко настроить в php.ini. Если нет, то ситуация усложняется. Будьте особо внимательны: с версии php 5.2.8 параметр меняется глобально на весь сервер. Обратитесь к хостеру, но не соглашайтесь на использование CGI.

Сделайте реззервную копию сайта и выполняйте конвертацию именно на ней. В случае неудачи данные основного сайта не пострадают.

2. Задание параметров конвертации

Задайте язык сайта, формат даты и кодировку.

3. Настройте dbconn.php

В файле в /bitrix/php_interface/dbconn.php добавьте строку

define(«BX_UTF», true);

4. Настройте кодировку сайта

В настройках сайта смените кодировку с windows-1251 на utf-8.

5. Настройте кодировку языка

В настройках языка смените кодировку с windows-1251 на utf-8.

6. Конвертируйте файлы в utf-8

7. Конвертируйте ьазу данных в utf-8

8. Отредактируйте файл after_connect.php

В файле /bitrix/php_interface/after_connect.php найдите строку

$DB->Query(«SET NAMES ‘cp1251′»

И замените на строку

$DB->Query(«SET NAMES ‘utf8′»

9. Очистите кэш всего сайта

10. Выйдите из сеанса работы с панелью управления, закройте браузер, потом откройте его и снова зайдите на сайт.

Обратите внимание: если конвертируете файлы в utf-8 вручную, не сохраняйте специальную последовательность BOM.

Exit mobile version