Странные символы на сайте WordPress: причины и решения
Похоже, многие пользователи жалуются, что видят только случайные буквы и символы:
Моя главная проблема в том, что я не могу воспроизвести эту ошибку НИ НА ОДНОМ из своих устройств! Ни на ноутбуке с Windows XP, ни на Windows 7, ни на Android-телефоне или iPod Touch. Не важно, какой браузер я использую. Единственный раз, когда я сам вижу проблему - это когда пытаюсь поделиться записью из блога в Google+, потому что описание блога тогда отображается странными символами.
Итак, прежде всего мне нужно найти способ как-то воспроизвести эту проблему. Иначе я не смогу проверить, исправляет ли мои действия проблему или нет.
Я сделал всё, что рекомендовал @toscho, но ничего не помогло.
Сталкивался ли кто-то с подобной проблемой или может подсказать, где искать её причину?
Обновление: Я связался со своим хостинг-провайдером. Они тоже не смогли воспроизвести проблему, как и я. Они сказали, что у них включено gzip-сжатие на серверах. Они предложили отключать плагины по одному, чтобы посмотреть что произойдёт, но так как я не могу воспроизвести проблему, я не могу этого сделать. Пожалуйста, помогите!
Всё больше читателей жалуются на эту проблему. Большинству достаточно обновить страницу или подождать несколько минут, и сайт загружается нормально, но из-за этого я всё равно теряю много трафика.
ОБНОВЛЕНИЕ 2: В FAQ плагина W3 Total Cache сказано: Я вижу мусорные символы вместо нормального сайта, что происходит?
Если тема или её файлы используют вызов php_flush() или функцию flush(), это будет мешать нормальной работе плагина; заставляя плагин отправлять кешированные файлы до завершения важных операций. Вызов flush() больше не нужен и должен быть удалён.
Я почти уверен, что в моём коде нет таких вызовов, но не на 100%. Есть ли способ это проверить, кроме как искать среди миллионов символов во всех моих файлах?

Начнем с вывода, который мы получили до исправления:
Что здесь произошло? Моё предположение: конфликт между плагином W3 Total Cache и вашим веб-сервером LiteSpeed. Я нашел обсуждение на форуме Drupal о очень похожей (или той же самой) проблеме.
Похоже, LiteSpeed не отправляет корректные HTTP-заголовки для сжатых файлов кэша, которые хранит W3TC. В его журнале изменений для версии 0.9.2.4 W3TC указано:
Исправлена поддержка веб-сервера LiteSpeed
Таким образом, проблема известна, и обновление должно её исправить.
Если обновление не помогло...
- Обратитесь к вашему хостинг-провайдеру. Вы платите за поддержку, и никто не знает внутренности лучше них.
Или добавьте...
AddType application/x-gzip .gz .tgz AddEncoding x-gzip .gz .tgz
...в ваш .htaccess, чтобы проверить, поможет ли это.
- Или отключите gzip-сжатие в W3TC. Это последний вариант, если все остальные подходы не сработали.
Чтобы проверить результаты, не полагайтесь на вывод браузера. Все браузеры используют разные обходные пути для исправления некорректного сжатия, с этим нельзя работать. Используйте инструменты вроде GIDZipTest, чтобы убедиться, что всё в порядке.

Большое спасибо. Мои плагины всегда обновлены, и я только что проверил. Я уже использую последнюю версию 0.9.2.4 - очевидно, что это само по себе не решает проблему. Я попробую другие шаги, которые вы предложили, и проверю с рекомендованным инструментом. Надеюсь, что смогу исправить проблему с его помощью. Спасибо!

Куда мне нужно вставить этот сниппет кода в мой .htaccess файл, чтобы он заработал? Я просто добавил его в самый конец, но это не дало никакого эффекта. Вот как сейчас выглядит мой .htaccess файл: http://pastebin.com/j0qDqBUV

Не должно иметь значения. Попробуйте другое: Удалите строку AddOutputFilterByType DEFLATE …

Я сделал. Спасибо. Не уверен, что это исправило проблему. DIDZipTest работает, но в IE я всё ещё вижу странные символы.

Возможно, проблема с локальным кешем в IE? После очистки кеша браузера сайт заработал нормально.

Похоже, это исправило проблему, потому что теперь у меня тоже сайт загружается корректно. Большое спасибо!

Проблема, кажется, сохраняется: http://wordpress.stackexchange.com/questions/67773/feedburner-doesnt-work-anymore Но я не могу воспроизвести проблему самостоятельно. Есть еще идеи, что можно сделать?

Всегда указывайте кодировку, используемую для HTML или XML страницы. Если этого не сделать, символы в вашем контенте могут быть некорректно интерпретированы. Проверьте ваш header-файл, чтобы указать английский язык и настройки UTF-8. Вот что находится в моем header:
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US">
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

Алия, спасибо! Я думал, что уже указал это (см. мой отредактированный вопрос с фрагментом кода), хотя там требуется некоторое действие, возможно, лучше заменить его на то, что используете вы? Я изначально изменил его, потому что мне также нужно отображать японские символы, а также английские и немецкие.

И, кстати, @toscho здесь эксперт. Я сам не знаю, о чем говорю, лол. Не в той степени, в которой, уверен, знает tosho.

@japanworm, я посетил ваш сайт и не заметил ничего странного. Он очень милый. :)

Спасибо! Я проверил ещё раз и увидел, что сниппет в моём заголовке уже был в родительской теме, но это не значит, что он без ошибок. Надеюсь, у "toscho" есть хорошая идея. Если нет, я попробую ваш вариант и посмотрю, что получится. И большое спасибо за приятный комплимент! :)

@japan, у нас большая проблемо. Я только что зашёл на ваш сайт в двух разных браузерах и вижу только страницу с кучей странных символов. Ваш сайт вообще не отображается. Это не проблема браузера. Должно быть, какой-то код ломает ваш сайт. Не уверен, имеет ли это значение, но вы скопировали и вставили мой заголовок вместо вашего, полностью заменив его? А пока я разберусь и скоро отпишусь.

Вы используете плагин кеширования? Я рассматриваю плагин кеширования как основного подозреваемого. Возможно, я ошибаюсь (я сам не использую плагины кеширования), но в прошлом они вызывали проблемы, даже такие простые, как неправильное отображение CSS.

Да, это действительно большая проблема! :( Поэтому я хочу как можно скорее разобраться, как её исправить! Огромное спасибо! Я вообще ничего не менял. Да, я использую плагин кеширования. Я его сейчас отключу, можете проверить, сохраняется ли проблема?

@japanworm - пока рано говорить, что проблема устранена окончательно, потому что сначала ваш сайт работал нормально, потом внезапно сломался, а затем снова заработал. Так что для мониторинга вам нужно будет оставить плагин выключенным на некоторое время, чтобы увидеть, повторится ли проблема. А пока сайт снова отображается нормально. Я бы также порекомендовал вам связаться с tosho. Он профи.

Я только что вернулся и перечитал некоторые свои комментарии, где называл toscho профессионалом, затем посмотрел, сколько у него репутации/очков, и не смог сдержать смеха от мысли, что у меня никогда не будет столько лол. В любом случае, я рад, что у вас всё работает! Ваш сайт просто очарователен :-D
