Главная » Создание сайта на Wordpress, раскрутка сайта, поисковое продвижение и сопровождение

Проблемы с кодировкой в W3 Total Cache

Появилась проблема, при которой сразу после активация плагина кэширования W3 Total Cache, закэшированная страница отображается в виде различных каракуль — другими словами — налицо проблемы с кодировкой кэшированной страницы. Именно кэшированной с помощью W3 Total Cache, так как адекватная отдача не кэшированной версии происходит нормально(легко удостовериться дважды обновив любую страницу сразу после активации плагина). И чтобы в закэшированной странице не было никаких проблем с кодировкой, мы рассмотрим способы решения и возможные проблемы.

UTF8 с и без ВOM

Первым делом необходимо убедиться в том, в папке вашего сайта нет никаких PHP файлов CMS, которые были сохранены в кодировке UTF8 с ВOM. ВOM — это небольшие заголовки, которые добавляются в начало файла и не играют серьезной роли в плане работоспособности php-скриптов, но могут вызвать проблемы с кодировкой при отображении сайта. Чтобы найти все файлы сохраненные в кодировке UTF8 с ВOM можно воспользоваться помощью специального скрипта: скачать.

Алгоритм действий простой — распакуйте архив и перенесите файл find_bom.php в корень папки вашего сайта и откройте данный файл в браузере. Пример работы скрипта для моего сайта вы можете увидеть на странице about-windows.ru/find_bom.php

Как видите у меня все чисто и нет ни одного PHP файла сохраненный в кодировке UTF8 с BOM. Если же у вас найдутся такие файлы, вам необходимо пересохранить их в кодировке UTF8 без BOM, после чего обратно перезалить на сервер.

ob_start(«ob_gzhandler»);

Есть такая специальная функция PHP ob_start(«ob_gzhandler»); с помощью которой можно отправлять браузеру закэшированные данные с формате, который поддерживает браузер пользователя. На выходе же мы имеем несовместимость данной функции и нормальной работоспособности плагина W3 Total Cache. Поэтому чтобы избавиться от проблем с кодировкой в плагине W3 Total Cache необходимо удалить все подобные строчки изо всех PHP файлов в корне сайта.

Побочные методы решения проблемы

Если же описанные методы не помогают, попробуйте поиграть с полем Disable UTF-8 blog charset support в настройках кэша W3 Total Cache.

Так же может помощь четкое указание используемой кодировки в файле .htaccess.

Если же ничего не помогает, ищете, ведь ответ всегда найдется. Например, с данной проблемой я разобрался за несколько месяцев. Правда ушло на это лишь пару часов времени, так как пытался подружить сайт с плагином в начале этого срока и в конце, когда появилась дополнительная идея исправления сложившейся ситуации, которая и принесла успех. Удачи!

Добавить комментарий

Ваш комментарий появится после модерации.