2013-04-09 1 views
3

Когда набор символов не указан ни в httpd.conf, ни в php.ini, ни в .htaccess и т. Д., То какой набор символов по умолчанию используется сервером apache/php ?Как узнать кодировку по умолчанию apache/php

Браузер считает, что это ISO-8859-1, когда заголовок ответа не содержит информации о символьных наборах, но я не смог найти подтверждения того, что apache server/php фактически отправляет данные с кодировкой ISO-8859-1 в ответ.

Благодаря

+0

http://stackoverflow.com/questions/15902284/how-to-set-the-default-charset-in-php –

ответ

2

Значение по умолчанию для default_charset: "iso-8859-1", которое применяется ко всем страницам, обслуживаемым PHP.

Для Apache набор символов по умолчанию для текста и html задан по умолчанию AddDefaultCharset, который также имеет значение по умолчанию "iso-8859-1".

2

Я не совсем уверен, но Apache не производить выход, он просто служит это. Так что все зависит от того, как кодируются ресурсы, а не для Apache для их кодирования.

Даже если вы укажете кодировку, это всего лишь подсказка для браузера. Вы можете установить кодировку utf-8 через php или через Apache, но если обслуживаемый ресурс закодирован другим, ваш браузер будет показывать только плохие кодированные данные.

Если набор символов не установлен, ваш браузер должен угадать (или использовать кодировку по умолчанию).

+0

Не совсем верно. Несмотря на то, что Apache будет (если не настроен иначе), отправьте файл в неповрежденном состоянии (как любой HTTP-сервер), необходимо создать некоторые заголовки HTTP, которые могут содержать различную информацию, включая кодировку символов. – gorn