Настройка во время выполнения


Поведение этих функций зависит от установок в php.ini.

Опции конфигурации mbstring
Имя По умолчанию Меняемо Список изменений
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.
Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

mbstring.language string

По умолчанию в mbstring используются настройки национального языка. Обратите внимание, что эта опция автоматически определяет mbstring.internal_encoding, и mbstring.internal_encoding должен быть помещен после mbstring.language в php.ini

mbstring.encoding_translation boolean

Включает прозрачный фильтр кодировки для входящих запросов HTTP, который выполняет обнаружение и преобразование входной кодировки во внутреннюю кодировку.

mbstring.internal_encoding string
Внимание

Данная возможность была xmlns УСТАРЕВШЕЙ начиная с версии PHP 5.6.0. Крайне не рекомендуется полагаться на эту возможность в будущем.

Определяет внутреннюю кодировку символов по умолчанию.

В PHP 5.6 и новее должен оставить эту опцию пустой и задать вместо нее default_charset.

mbstring.http_input string
Внимание

Данная возможность была xmlns УСТАРЕВШЕЙ начиная с версии PHP 5.6.0. Крайне не рекомендуется полагаться на эту возможность в будущем.

Определяет кодировку символов по умолчанию для HTTP-ввода.

В PHP 5.6 и новее должен оставить эту опцию пустой и задать вместо нее default_charset.

mbstring.http_output string
Внимание

Данная возможность была xmlns УСТАРЕВШЕЙ начиная с версии PHP 5.6.0. Крайне не рекомендуется полагаться на эту возможность в будущем.

Определяет кодировку символов по умолчанию для HTTP-вывода (конвертация из внутренней кодировки в кодировку HTTP вывода произойдет перед выводом).

В PHP 5.6 и новее должен оставить эту опцию пустой и задать вместо нее default_charset.

mbstring.detect_order string

Определяет порядок определения кодировки символов по умолчанию. См. также mb_detect_order().

mbstring.substitute_character string

Определяет символ для замены недопустимых символов кодировки.

mbstring.func_overload string

Перегружает множество однобайтовых функций аналогами из mbstring. Смотрите раздел Перегрузка функций для получения дополнительной информации.

Эта опция может быть изменена только в файле php.ini.

mbstring.strict_detection boolean

Позволяет строгое определение кодировки.

Согласно » спецификации 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