Директива Default_charset указывает кодировку по умолчанию для всех PHP документов. Наиболее часто используються следующие кодировки символов: UTF-8, ASCII, Windows-1251 (CP1251).
Пример использования:
В зависимости от версии интерпретатора PHP, директива Default_charset имеет разные значения по умолчанию, поэтому не рекомендуется оставлять параметр директивы пустым.
Начиная с версии PHP 5.6 значение по умолчанию является UTF-8 и используется для большинства функций, в частности и для функций Mbstring, если кодировка не изменена в параметрах вызова данных функций. Если директива Default_charset имеет пустой параметр, то кодировка PHP документов определяется директивами AddDefaultCharset, AddCharset в файле .htaccess.
Кодировка, указанная в директиве Default_charset используется для стандартного заголовка Content-Type, отправляемого PHP, если этот заголовок не переопределен вызовом функции Header.
Проверить статус директивы можно с помощью функции Ini_get:
Директива Default_charset относиться к режиму PHP_INI_ALL, поэтому значение может быть установлено отовсюду (более детально в статье: Установка параметров конфигурации PHP).
Кодировку можно также изменить непосредственно в исполняемом файле PHP с помощью функции Ini_set:
или в настройках файла .htaccess:
Будьте внимательны при написании параметра директивы, поскольку системных ошибок не будет, а вывод информации испортиться:
Под катом инструкция по установки кодировки через .htaccess
Добавить в /www/.htaccess
Помогает на хостингах, настроенных "народными умельцами"..
Похожие статьи
Автор: Виталий Орлов | Рейтинг: 5 / 5 | Теги: htaccess
5 комментариев
Конкретно в .htaccess маловероятен вирус. Разве что, будут какие-то инструкции по перенаправлению на сторонний домен. но маловероятно.
В любом другом случае стоит использовать антивирусы. Либо специалиста по безопасности, способного програмно или визуально определить вредоносный код.
В самое начало файла. Если там уже что-то есть, то просто выше всего этого. Обычно достаточно даже просто добавить в самое начало, вот так:
AddDefaultCharset utf-8
. тут-другое-содержание.
После этого можно обновить страницу и кодировка должна прийти в порядок. Либо показать ошибку 500, в случае если в .htaccess будут ошибки. Тогда стоит вернуться к первоначальному виду .htaccess и попробовать связаться с поддержкой хостинга, чтоб они помогли. Разумеется, если эта проблема на хостинге, а не на домашнем компе.
Добавить комментарий Отменить ответ
С Новым Годом друзья! Желаю, чтобы целый год вы были здоровы, богаты и счастливы, а все планы и мечты исполнились!
Кодировка веб страницы определяется тем, в каком формате ее содержимое было сохранено перед загрузкой на сервер.
Также в HTML5 прописывается заголовок, указывающий браузеру какую кодировку использовать:
После загрузки бОльшее значение начинает иметь кодировка, указываемая в конфигурационном файле веб-сервера. Кодировка задается за счет AddDefaultCharset, это может быть стандартная utf-8 или любая другая кодировка
ServerName example.com
AddDefaultCharset utf-8
Это правило актуально для всего виртуального хоста, т.е. для всех страниц, которые будут относиться к сайту.
Если директиву не указывать остается возможность более тонкой настройки за счет файла .htaccess.
Файлов .htaccess может присутствовать неограниченное количество, по одному в каждом каталоге. Например, .htaccess в домашнем каталоге www/example.com/, .htaccess в www/example.com/admin и т.д.
В каждом из них может задаваться своя кодировка, в некоторых случаях это требуется. Возможно такое поведение только при использовании в качестве веб-сервера Apache поскольку .htaccess обрабатывается исключительно им.
adddefaultcharset utf-8
Для корня ресурса задана кодировка UTF-8, для каких-то из вложенных каталогов ее можно переопределить добавив директиву с другим значением в .htaccess
adddefaultcharset windows-1251
Все файлы, отдаваемые сервером из www/example.com/admin теперь будут в кодировке windows-1251
Проверять можно используя консольную утилиту curl или при помощи сервиса, выводящего заголовки при HTTP запросе.
Чтобы избежать некорректного отображения страниц лучше везде указывать UTF-8: в meta-тэгах, конфигурационных файлах веб-сервера (или .htaccess) и настройках MySQL.
Читайте про HTTP ответы сервера и о том, как пользоваться curl