Ob_start ( "ob_gzhandler" ) дает ошибку кодирования содержимого

Я хочу использовать gzip для моей мобильной версии сайта. Я попытался сделать это, добавив следующую строку вверху моего php файла

ob_start("ob_gzhandler");

Но это дает мне следующую ошибку. enter image description here

Я искал и пытался использовать несколько способов, но ничто не могло сжать страницу. Как достичь этого?

Ответы

Ответ 1

Возможно, у вас была такая же проблема, как у меня, и на самом деле у меня есть файл utf-8 с спецификацией UTF-8 внутри *.
Я думаю, что gzip в сочетании с спецификацией UTF-8 дает проблему кодирования.

Примечания:

  • Не все редакторы могут показать, существует ли спецификация. Я должен был использовать другой редактор Notepad ++, чтобы понять, есть ли там спецификация и удалить его там через "Преобразовать в utf-8 без спецификации", а затем сохранить файл. (Также сначала закрываем его в моем первоначальном редакторе.) Но также может быть, что вы можете настроить свой редактор, а не включать спецификацию.
  • Возможно, это происходит только тогда, когда отчет об ошибках php включен

* Подробнее о спецификации UTF:

Ответ 2

Возможно, вы используете сжатие gzip Apache, которое сжимает файлы js/css, снова использование ob_start ('ob_gzhandler') сжимает это сжатие, и браузер не справится с этим.

проверьте здесь, возможно, это поможет вам.

Ответ 3

просто используйте двойные кавычки как "ob_start('ob_gzhandler')";, чтобы избежать ошибки кодирования содержимого