Крокозяблы при установки Prestashop
Сегодня скачал текущую версию PrestaShop v1.5.6 с официального сайта разработчика, решил ее протестировать на локальном сервере Денвер. Запустил сервер, начал инсталляцию (установку) Престы, но увы пошли крокозяблы, кириллицу денвер перестал отображать.
Немного погуглив инет понял, что проблема не в сервере, а в самой CMS. Оказывается разработчики Prestashop к кириллице довольно мало уделяют внимания, хоть и имеется параметр в файле конфиг, в котором можно указывать используемую кодировку, однако в заголовка жестко прописана utf-8.
В результате чего русская инсталляция проходит в кодировке utf-8 в виде “как Бог на душу положит”, если строка AddDefaultCharset utf-8 в файле .htaccess не помогает решить проблему с крокозяблами, то есть выход:
Решение этой задачи оказалась очень простой:
Перед запуском инсталляции находим файл init.php в папке install. Путь к файлу /install/init.php сразу после включения буферизации вывода ob_start(), добавим наш параметр header(‘Content-Type: text/html; charset=utf-8’), не забываем сохранить изменения.
1 2 3 4 5 6 | ob_start(); /** Укажем кодировку для русской версии **/ header('Content-Type: text/html; charset=utf-8'); // Check PHP version if (version_compare(PHP_VERSION, '5.1.3', '< ')) die('You need at least PHP 5.1.3 to run PrestaShop. Your current PHP version is '.PHP_VERSION); |
Перезагрузил локальный сервер Денвер, инсталляция Prestashop v1.5.6 пошла нормально в читаемом виде.