Поведение этих функций зависит от установок в php.ini.
Имя | По умолчанию | Место изменения | Список изменений |
---|---|---|---|
mbstring.language | "neutral" | PHP_INI_ALL | |
mbstring.detect_order | NULL | PHP_INI_ALL | |
mbstring.http_input | "pass" | PHP_INI_ALL | Устарела |
mbstring.http_output | "pass" | PHP_INI_ALL | Устарела |
mbstring.internal_encoding | NULL | PHP_INI_ALL | Устарела |
mbstring.substitute_character | NULL | PHP_INI_ALL | |
mbstring.func_overload | "0" | PHP_INI_SYSTEM | Объявлено устаревшим в PHP 7.2.0; удалено с PHP 8.0.0. |
mbstring.encoding_translation | "0" | PHP_INI_PERDIR | |
mbstring.http_output_conv_mimetypes | "^(text/|application/xhtml\+xml)" | PHP_INI_ALL | |
mbstring.strict_detection | "0" | PHP_INI_ALL | |
mbstring.regex_retry_limit | "1000000" | PHP_INI_ALL | Доступно, начиная с PHP 7.4.0. |
mbstring.regex_stack_limit | "100000" | PHP_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