Настройка во время выполнения
Вернуться к: Установка и настройка
Поведение этих функций зависит от установок в php.ini.
| Имя | По умолчанию | Меняемо | Список изменений |
|---|---|---|---|
| mbstring.language | "neutral" | PHP_INI_ALL | Доступна начиная с PHP 4.3.0. PHP_INI_PERDIR в PHP <= 5.2.6 |
| mbstring.detect_order | NULL | PHP_INI_ALL | Доступна начиная с PHP 4.0.6. |
| mbstring.http_input | "pass" | PHP_INI_ALL | Доступна начиная с PHP 4.0.6. Устарела с PHP 5.6.0. |
| mbstring.http_output | "pass" | PHP_INI_ALL | Доступна начиная с PHP 4.0.6. Устарела с PHP 5.6.0. |
| mbstring.internal_encoding | NULL | PHP_INI_ALL | Доступна начиная с PHP 4.0.6. Устарела с PHP 5.6.0. |
| mbstring.script_encoding | NULL | PHP_INI_ALL | Доступна начиная с PHP 4.3.0. Удалена в PHP 5.4.0. Используйте zend.script_encoding |
| mbstring.substitute_character | NULL | PHP_INI_ALL | Доступна начиная с PHP 4.0.6. |
| mbstring.func_overload | "0" | PHP_INI_SYSTEM | PHP_INI_PERDIR с PHP 4.3 до 5.2.6, а в других версиях - PHP_INI_SYSTEM. Доступна с PHP 4.2.0. |
| mbstring.encoding_translation | "0" | PHP_INI_PERDIR | Доступна начиная с PHP 4.3.0. |
| mbstring.strict_detection | "0" | PHP_INI_ALL | Доступна начиная с PHP 5.1.2. |
Краткое разъяснение конфигурационных директив.
-
mbstring.languagestring -
По умолчанию в mbstring используются настройки национального языка. Обратите внимание, что эта опция автоматически определяет mbstring.internal_encoding, и mbstring.internal_encoding должен быть помещен после mbstring.language в php.ini
-
mbstring.encoding_translationboolean -
Включает прозрачный фильтр кодировки для входящих запросов HTTP, который выполняет обнаружение и преобразование входной кодировки во внутреннюю кодировку.
-
mbstring.internal_encodingstring -
Внимание
Данная возможность была xmlns УСТАРЕВШЕЙ начиная с версии PHP 5.6.0. Крайне не рекомендуется полагаться на эту возможность в будущем.
Определяет внутреннюю кодировку символов по умолчанию.
В PHP 5.6 и новее должен оставить эту опцию пустой и задать вместо нее
default_charset. -
mbstring.http_inputstring -
Внимание
Данная возможность была xmlns УСТАРЕВШЕЙ начиная с версии PHP 5.6.0. Крайне не рекомендуется полагаться на эту возможность в будущем.
Определяет кодировку символов по умолчанию для HTTP-ввода.
В PHP 5.6 и новее должен оставить эту опцию пустой и задать вместо нее
default_charset. -
mbstring.http_outputstring -
Внимание
Данная возможность была xmlns УСТАРЕВШЕЙ начиная с версии PHP 5.6.0. Крайне не рекомендуется полагаться на эту возможность в будущем.
Определяет кодировку символов по умолчанию для HTTP-вывода (конвертация из внутренней кодировки в кодировку HTTP вывода произойдет перед выводом).
В PHP 5.6 и новее должен оставить эту опцию пустой и задать вместо нее
default_charset. -
mbstring.detect_orderstring -
Определяет порядок определения кодировки символов по умолчанию. См. также mb_detect_order().
-
mbstring.substitute_characterstring -
Определяет символ для замены недопустимых символов кодировки.
-
mbstring.func_overloadstring -
Перегружает множество однобайтовых функций аналогами из mbstring. Смотрите раздел Перегрузка функций для получения дополнительной информации.
Эта опция может быть изменена только в файле php.ini.
-
mbstring.strict_detectionboolean -
Позволяет строгое определение кодировки.
Согласно » спецификации HTML 4.01, веб-браузерам позволяется перекодировать данные из формы, которые они получают в кодировке символов, отличной от используемой на странице. Смотрите функцию mb_http_input() для того, чтобы определить кодировку символов, используемую браузерами.
Хотя популярные браузеры способны достаточно точно определить кодировку символов данного HTML-документа, было бы лучше установить параметр charset в поле Content-Type HTTP-заголовка в требуемое значение или указать ее в параметре default_charset в ini-настройках.
Пример #1 Примеры настроек php.ini
; Установить язык по умолчанию
mbstring.language = Neutral; Установить Neutral(UTF-8) языком по умолчанию(по умолчанию)
mbstring.language = English; Установить английский языком по умолчанию
mbstring.language = Japanese; Установить японский языком по умолчанию
;; Установить внутреннюю кодировку по умолчанию
;; Примечание: Убедитесь, что используете кодировку символов, которая работает с PHP
mbstring.internal_encoding = UTF-8 ; Установить внутреннюю кодировку в UTF-8
;; Включено преобразование кодировки HTTP-ввода.
mbstring.encoding_translation = On
;; Установить кодировку символов по умолчанию для HTTP-ввода
;; Примечание: Скрипт не может изменить установку http_input.
mbstring.http_input = pass ; Нет преобразования.
mbstring.http_input = auto ; Установить HTTP-ввод в auto
; "auto" расширяется в соответствии с mbstring.language
mbstring.http_input = SJIS ; Установить HTTP-ввод в SJIS
mbstring.http_input = UTF-8,SJIS,EUC-JP ; Указать порядок
;; Установить кодировку символов по умолчанию для HTTP-вывода
mbstring.http_output = pass ; Нет преобразования.
mbstring.http_output = UTF-8 ; Установить кодировку HTTP-вывода в UTF-8
;; Установить порядок определения кодировки символов по умолчанию
mbstring.detect_order = auto ; Установить порядок определения в auto
mbstring.detect_order = ASCII,JIS,UTF-8,SJIS,EUC-JP ; Указать порядок
;; Установить символ замены по умолчанию
mbstring.substitute_character = 12307 ; Указать значение Unicode
mbstring.substitute_character = none ; Не печатать символ
mbstring.substitute_character = long ; Примеры кодовых значений символов: U+3000,JIS+7E7E
Пример #2 Настройки php.ini для пользователей EUC-JP
;; Отключить буферизацию вывода output_buffering = Off ;; Установить кодировку в http-заголовке default_charset = EUC-JP ;; Установить японский языком по умолчанию mbstring.language = Japanese ;; Включено преобразование кодировки HTTP-ввода. mbstring.encoding_translation = On ;; Установить перекодировку HTTP-ввода в auto mbstring.http_input = auto ;; Конвертировать HTTP-вывод в EUC-JP mbstring.http_output = EUC-JP ;; Установить внутреннюю кодировку в EUC-JP mbstring.internal_encoding = EUC-JP ;; Не печатать недопустимые символы mbstring.substitute_character = none
Пример #3 Настройки php.ini для пользователей SJIS
;; Включить буферизацию вывода output_buffering = On ;; Установить mb_output_handler для включения перекодировки вывода output_handler = mb_output_handler ;; Установить кодировку в http-заголовке default_charset = Shift_JIS ;; Установить японский языком по умолчанию mbstring.language = Japanese ;; Установить перекодировку HTTP-ввода в auto mbstring.http_input = auto ;; Конвертировать в SJIS mbstring.http_output = SJIS ;; Установить внутреннюю кодировку в EUC-JP mbstring.internal_encoding = EUC-JP ;; Не печатать недопустимые символы mbstring.substitute_character = none
Вернуться к: Установка и настройка