У меня есть сайт, работающий на Apache 2.2.8 (Plesk 9.5.4)
Для этого сайта существует странное поведение: в корневом каталоге есть только html, и он обслуживается следующим заголовком с отличным качеством.
http://globalmit.com/
Заголовки ответа
Дата ср, 04 мая 2011 г., 00:57:26 GMT
Сервер Apache
Последнее изменение: понедельник, 4 апреля 2011 г., 21:09:05 GMT
Etag "15013bf-5a7-4a01e2b6efe40"
Принять-диапазоны байтов
Максимальный возраст Cache-Control = 300
Срок действия истекает 04 мая 2011 г., 01:02:26 GMT
Варьировать Accept-Encoding
Кодирование содержимого gzip
Content-Length 564
Content-Type text / html; charset = utf-8
Затем у меня установлен osTickets в этом каталоге, я сделал перевод на испанский, и для его работы необходимо установить кодировку типа контента на UTF-8, и она отлично работает.
http: // globalmit.com/ билеты /
Заголовки ответа
Дата ср, 04 мая 2011 г., 01:04:37 GMT
Сервер Apache
Действует до Thu, 19 Nov 1981, 08:52:00 GMT
Cache-Control no-store, no-cache, must-revalidate, post-check = 0, pre-check = 0
Pragma без кеширования
Варьировать Accept-Encoding
Кодирование содержимого gzip
Тайм-аут Keep-Alive = 15, максимум = 100
Соединение Keep-Alive
Передача-кодирование фрагментировано
Content-Type text / html; charset = UTF-8
Здесь возникает проблема с этим каталогом, админ-панелью osTickets, Apache меняет кодировку на iso-8859-1 без всякой причины.
Я попытался добавить AddDefaultCharset UTF-8 в файл конфигурации виртуального каталога Apache, добавив файл .htaccess с тем же AddDefaultCharset UTF-8, но мне не повезло.
http://globalmit.com/tickets/scp/
Заголовки ответа
Дата ср, 04 мая 2011 г., 01:05:26 GMT
Сервер Apache
Действует до Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control no-store, no-cache, must-revalidate, post-check = 0, pre-check = 0
Pragma без кеширования
Варьировать Accept-Encoding
Кодирование содержимого gzip
Тайм-аут Keep-Alive = 15, максимум = 100
Соединение Keep-Alive
Передача-кодирование фрагментировано
Content-Type text / html; кодировка = iso-8859-1
Как я могу избежать этого странного поведения Apache?
Apache ведет себя правильно; PHP - нет.
К сожалению, поскольку все строковые данные генерируются из PHP, вы в значительной степени зависите от того, какое приложение, которое вы запускаете, имеет хорошую поддержку набора символов - посмотрите, есть ли какие-либо настройки, которые вы можете изменить в приложении, чтобы включить UTF -8 поддержка.