php value default charset utf 8 htaccess
Директива Default_charset
Директива 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
Для того, чтобы задать кодировку файла в htaccess достаточно написать в нём всего одну строчку:
Если Вам нужна windows-1251, то тогда так:
Надеюсь, что этой статьей я помог Вам решить проблему с кодировкой. А в следующей статье я расскажу о проблеме, связанной с кодировкой базы данных. Это тоже весьма частая проблема, которую многие не могут решить.
Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!
Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
Комментарии ( 14 ):
Фух норм инструкция, а то вроде все UTF 8, а браузер кракозябры показывает
Кодировка сайта меняется вручную в том случае, если браузер выбирает неверный вариант кодировки, итогом чего становится появление набора символов, вместо обычного вида веб-страницы. Например, для чтения файлов используется Windows-1251, из-за чего возникают проблемы с ресурсами, на которых используется кодировка UTF-8, которая является стандартной для большинства сайтов.
Как узнать кодировку сайта
Посмотреть кодировку сайта легко — достаточно перейти на любую страницу ресурса и нажать правую кнопку мыши (или сочетание клавиш CTRL+U ), чтобы посмотреть исходный код («View page source» или « Просмотр кода страницы »).
Общий способ
Одной из наиболее часто встречающихся причин считается неправильно прописанный мета-тег content-type :
Но если после его изменения ничего не меняется, и браузер не считает тег основополагающим, понадобится поменять значение вручную.
На всем сайте
Возможно и обратное изменение для которого добавляется:
В отдельном файле или группе файлов
В результате, директива AddCharset будет конвертировать указанный файл ( file.html ) в заданную кодировку ( UTF-8 ).
Этого же результата можно достичь, пользуясь директивой ForceType :
Для внесения изменений кодировки в несколько файлов одновременно, их имена указываются при помощи синтаксиса регулярных выражений.
При комплексных сценариях, применяющихся к одному документу, придется учесть порядок расположения расширений. Например:
В указанном правиле файл « file.utf8.html » будет выводиться в кодировке windows-1252, а « file.html.utf8 » — в UTF-8.
Начни экономить на хостинге сейчас — 14 дней бесплатно!
Настройка параметров PHP
По умолчанию на новых серверах PHP работает в режиме mod_php, но при желании вы можете подключить режим mod_cgi, воспользовавшись нашей инструкцией.
apc.cache_by_default
Управление APC осуществляется директивами:
default_charset
Директива указывает кодировку по умолчанию (например, cp1251, utf-8, koi8-r) для всех выдаваемых страниц.
display_errors
Директива указывает, требуется ли выводить ошибки на экран вместе с остальным выводом, либо ошибки должны быть скрыты от пользователя.
Включение и выключение осуществляются следующим образом:
log_errors
Опция позволяет включить логирование ошибок php с их записью в произвольный файл (в примере errors.log). При указании пути к файлу замените u и user на первую букву вашего логина и сам логин.
magic_quotes_gpc
Включение и выключение magic_quotes осуществляется директивами:
mail.add_x_header
Опция позволяет включить логирование отправки почты из скриптов сайта. Логи будут содержать полный путь до скрипта, адрес получателя и заголовки. При указании пути к файлу, в который будут записываться логи (mail.log), замените u и user на первую букву вашего логина и сам логин.
max_input_vars
Директива указывает, сколько входных переменных может быть принято в одном запросе. Например:
mbstring.func_overload и mbstring.internal_encoding
Для корректной работы сайтов на старых версиях CMS Битрикс (до v20.100.0) требуются следующие параметры:
opcache.revalidate_freq
Отключение OpCache (настройка требуется для CMS Битрикс):
pcre.recursion_limit
Устанавливает лимит на рекурсию.
post_max_size
register_globals
Директивы для включения/выключения глобальных переменных:
request_order
Директива регулирует порядок, в котором PHP добавляет переменные GET, POST и Cookie в массив _REQUEST.
upload_max_filesize
Устанавливает максимальный размер закачиваемого файла.
Настройка опций в файле php.ini
allow_url_fopen
Опция включает поддержку оберток URL (URL wrappers), которые позволяют работать с объектами URL по протоколам ftp или http как с обычными файлами.
Включение опции (для отключения значение = 0):
apc.cache_by_default
Отключение APC (для включения значение = 1):
default_charset
Указание кодировки по умолчанию:
display_errors
Включение вывода ошибок (для выключения значение = off).
magic_quotes_gpc
Отключение Magic Quotes (для включения значение = 1):
mail.add_x_header
Включение логирования отправки почты из скриптов сайта. В директиве mail.log указывается путь к файлу, в который будут сохраняться логи (замените u и user на первую букву вашего логина и сам логин).
max_input_vars
Изменение количества вводимых переменных:
mbstring.func_overload и mbstring.internal_encoding
Настройки для старых версий CMS Битрикс:
opcache.revalidate_freq
Отключение OpCache (настройка для CMS Битрикс):
pcre.recursion_limit
post_max_size
register_globals
Отключение Register Globals (для включения значение = 1):
request_order
Регулирует порядок, в котором PHP добавляет переменные GET, POST и Cookie в массив _REQUEST.
upload_max_filesize
Устанавливает максимальный размер закачиваемого файла.
Опции, которые не могут быть изменены
К настройкам PHP, изменение которых невозможно в рамках виртуального хостинга, относятся:
Общие сведения
1. Перейдите в раздел «Файловый менеджер» панели управления.
4. Нажмите кнопку «Создать файл».
Возникновение ошибки «Имя уже используется» означает, что данный файл уже создан в текущей директории.
В открывшейся форме редактирования можно внести необходимые изменения в файл конфигурации: добавить или удалить директивы. Также можно закомментировать неиспользуемые настройки, для этого необходимо добавить в начале строки символ #. Настройки, указанные в таких строках, учитываться не будут.
Примеры настроек
Перенаправления
Настройка редиректов описана в отдельной статье: Типовые перенаправления.
Параметры PHP
Управление доступом к сайту
Обратите внимание, что в рамках нашей архитектуры директивы запрета доступа не будут работать для IPv6. Для запрета доступа с IPv6-адресов необходимо удалить АААА-запись домена.
Разрешить доступ конкретным IP (для остальных доступ запрещен):
Несколько IP-адресов могут указываться через пробел или отдельными директивами, каждая в новой строке.
Запретить доступ конкретным IP (для остальных доступ разрешен). Для работы запрещающих директивы, их необходимо заключать в блоки :
При использовании Allow,Deny:
Разрешить доступ всем, кроме конкретного IP:
Запретить доступ всем, кроме конкретного IP:
Запретить доступ для всех:
Защита сайта или директории паролем. Базовая аутентификация
В первую очередь задайте логин и пароль, которые будут использоваться для входа. Для этого подключитесь к аккаунту по SSH и выполните команду ниже, указав нужные вам значения:
Блокировка запросов по User-Agent
Можно ограничить доступ к сайту для определенных User-Agent. Например, при нежелательной активности ботов MJ12bot и SolomonoBot, используйте:
Ограничения по видам запросов
Для новых версий Apache, начиная с 2.4, оптимально использовать директивы Require и заключать их в блоки :
Индексная страница по умолчанию
Директива DirectoryIndex позволит вам указать страницу, которая будет отдаваться по умолчанию при обращении к директории, например:
Вы также можете указать несколько страниц, в этом случае сервер «пройдет» по списку слева направо и отобразит первую доступную страницу:
Собственные страницы ошибок
С помощью директивы ErrorDocument вы можете сообщить веб-серверу, какая страница должна отдаваться клиенту в случае возникновения определенной ошибки (403, 404, 500 и др.). Для этого необходимо указать номер ошибки и адрес нужной страницы:
Вы можете хранить файлы этих страниц как в корне сайта, так и в специально созданной папке, например, errors.
Кодировка
Указать кодировку по умолчанию (например, cp1251, utf-8, koi8-r) для всех выдаваемых страниц можно с помощью AddDefaultCharset, например:
При использовании PHP версии 5.6 и выше может потребоваться дополнительно указать: