Назад | Перейти на главную страницу

Кодировка по умолчанию Apache не работает

Я пытаюсь установить кодировку по умолчанию для ISO-8859-1, поэтому я добавил строку ниже в httpd.conf.

AddDefaultCharset ISO-8859-9

и я вижу это значение, когда запрашиваю его с помощью

root@server [/]# curl -A "Mozilla/4.0" http://localhost -I
HTTP/1.1 200 OK
Date: Mon, 10 Sep 2012 22:28:48 GMT
Server: Apache
Last-Modified: Tue, 21 Aug 2012 21:17:25 GMT
Accept-Ranges: bytes
Content-Length: 111
Content-Type: text/html; charset=ISO-8859-1

Однако я не могу получить такие же результаты для виртуальных хостов, и нет дополнительных определений для любой другой кодировки.

root@server [/]# file temp.php
temp.php: ISO-8859 text

root@server [/]# cat temp.php    
Cesária Évora

root@server [/]# curl -A "Mozilla/4.0" http://somedomain/temp.php -I
HTTP/1.1 200 OK
Date: Mon, 10 Sep 2012 22:28:31 GMT
Server: Apache
Content-Type: text/html; charset=utf-8

Есть ли у вас какие-либо идеи ? Пожалуйста, дайте мне знать, если у вас есть подсказка.

Спасибо.

В charset атрибут в Content-Type для PHP обрабатывается php.ini.

Добавить default_charset = iso-8859-1 в свой php.ini или используйте ini_set( "default_charset", "iso-8859-1" ) в твоем temp.php. http://www.php.net/ini.core#ini.default-charset