Налаштування під час виконання

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

Опції конфігурації mbstring

ИмяПо умолчаниюМесто измененияСписок изменений
mbstring.language"neutral"INI_ALL
mbstring.detect_orderNULLINI_ALL
mbstring.http_input"pass"INI_ALLЗастаріла
mbstring.http_output"pass"INI_ALLЗастаріла
mbstring.internal_encodingNULLINI_ALLЗастаріла
mbstring.substitute_characterNULLINI_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.

Додаткова інформація та опис режимів INI_* дано у розділі «Місця встановлення параметрів конфігурації».

Коротке пояснення конфігураційних директив.

mbstring.languagestring

За замовчуванням у mbstring використовуються налаштування національної мови. Зверніть увагу, що ця опція автоматично визначає mbstring.internal_encoding, иmbstring.internal_encoding повинен бути поміщений після mbstring.languageв php.ini

mbstring.encoding_translationbool

Включає прозорий фільтр кодування для вхідних запитів HTTP, який виконує виявлення та перетворення вхідного кодування у внутрішнє кодування.

mbstring.internal_encodingstring

Увага

Ця можливість застаріла та буде видаленов будущем.

Визначає внутрішнє кодування символів за промовчанням.

Користувачі повинні залишити цю опцію порожньою та поставити замість неї default_charset

mbstring.http_inputstring

Увага

Ця можливість застаріла та буде видаленов будущем.

Визначає кодування символів за промовчанням для введення HTTP.

Користувачі повинні залишити цю опцію порожньою та поставити замість неї default_charset

mbstring.http_outputstring

Увага

Ця можливість застаріла та буде видаленов будущем.

Визначає кодування символів за замовчуванням для виводу HTTP (конвертація з внутрішнього кодування в кодування виводу HTTP відбудеться перед виведенням).

Користувачі повинні залишити цю опцію порожньою та поставити замість неї default_charset

mbstring.detect_orderstring

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

mbstring.substitute_characterstring

Визначає символ для заміни неприпустимих символів кодування. Список підтримуваних значень дивіться в описі функції mb_substitute_character()

mbstring.func_overloadstring

Увага

Ця функціональність оголошена застарілої починаючи з PHP 7.2.0 і була ВИДАЛЕНО у версії PHP 8.0.0. Використовувати цю функцію не рекомендується.

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

Ця опція може бути змінена лише у файлі php.ini.

mbstring.http_output_conv_mimetypesstring

mbstring.strict_detectionbool

Включає чітке визначення кодування. Дивіться опис та приклади в mb_detect_encoding()

mbstring.regex_retry_limitint

Обмежує кількість зворотних ходів, які можуть бути виконані під час одного збігу mbregex.

Ця установка діє лише при зв'язуванні з oniguruma >= 6.8.0.

mbstring.regex_stack_limitint

Обмежує глибину стека регулярних виразів 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