Поведение функций зависит от установок в файле php.ini.
| Имя | По умолчанию | Место изменения | Список изменений |
|---|---|---|---|
| mbstring.language | "neutral" | INI_ALL |
|
| mbstring.detect_order | NULL | INI_ALL |
|
| mbstring.http_input | "pass" | INI_ALL |
Устарела |
| mbstring.http_output | "pass" | INI_ALL |
Устарела |
| mbstring.internal_encoding | NULL | INI_ALL |
Устарела |
| mbstring.substitute_character | NULL | INI_ALL |
|
| mbstring.func_overload | "0" | INI_SYSTEM |
Объявлено устаревшим в PHP 7.2.0; удалено с PHP 8.0.0. |
| mbstring.encoding_translation | "0" | INI_PERDIR |
|
| mbstring.http_output_conv_mimetypes | "^(text/|application/xhtml\+xml)" | INI_ALL |
|
| mbstring.strict_detection | "0" | INI_ALL |
|
| mbstring.regex_retry_limit | "1000000" | INI_ALL |
Доступно, начиная с PHP 7.4.0. |
| mbstring.regex_stack_limit | "100000" | INI_ALL |
Доступно, начиная с PHP 7.3.5. |
Краткое разъяснение конфигурационных директив.
mbstring.language
string
По умолчанию в mbstring используются настройки национального языка.
Обратите внимание, что эта опция автоматически определяет mbstring.internal_encoding, и
mbstring.internal_encoding должен быть помещён после
mbstring.language в php.ini
mbstring.encoding_translation
bool
Включает прозрачный фильтр кодировки для входящих запросов HTTP, который выполняет обнаружение и преобразование входной кодировки во внутреннюю кодировку.
mbstring.internal_encoding
string
Функция устарела и ее удалят в будущем.
Определяет внутреннюю кодировку символов по умолчанию.
Пользователи должны оставить эту опцию пустой и задать вместо неё
default_charset.
mbstring.http_input
string
Функция устарела и ее удалят в будущем.
Определяет кодировку символов по умолчанию для HTTP-ввода.
Пользователи должны оставить эту опцию пустой и задать вместо неё
default_charset.
mbstring.http_output
string
Функция устарела и ее удалят в будущем.
Определяет кодировку символов по умолчанию для HTTP-вывода (конвертация из внутренней кодировки в кодировку HTTP вывода произойдёт перед выводом).
Пользователи должны оставить эту опцию пустой и задать вместо неё
default_charset.
mbstring.detect_order
string
Определяет порядок определения кодировки символов по умолчанию. Смотрите также mb_detect_order().
mbstring.substitute_character
string
Определяет символ для замены недопустимых символов кодировки. Список поддерживаемых значений смотрите в описании функции mb_substitute_character().
mbstring.func_overload
string
Начиная с PHP 7.2.0 функциональность УСТАРЕЛА, а в PHP 8.0.0 функциональность УДАЛИЛИ. Полагаться на функциональность настоятельно не рекомендуют.
Перегружает множество однобайтовых функций аналогами из mbstring. Смотрите раздел Перегрузка функций для получения дополнительной информации.
Эта опция может быть изменена только в файле php.ini.
mbstring.http_output_conv_mimetypes
string
mbstring.strict_detection
bool
Включает строгое определение кодировки. Смотрите описание и примеры в mb_detect_encoding().
mbstring.regex_retry_limit
int
Ограничивает количество обратных ходов, которые могут быть выполнены во время одного совпадения mbregex.
Эта настройка действует только при связывании с oniguruma >= 6.8.0.
mbstring.regex_stack_limit
int
Ограничивает глубину стека регулярных выражений mbstring.
Согласно » спецификации HTML 4.01, веб-браузерам разрешено перекодировать данные из формы, которые они получают в кодировке символов, отличной от используемой на странице. Смотрите функцию mb_http_input() для того, чтобы определить кодировку символов, используемую браузерами.
Хотя популярные браузеры способны достаточно точно определить
кодировку символов данного HTML-документа, было бы лучше
установить параметр charset в HTTP-заголовке
Content-Type
соответствующим значением с помощью header() или указать требуемое значение в параметре
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