На поведінку цих функцій випливають налаштування в php.ini.
Назва | Початково | Де можна змінювати | Журнал змін |
---|---|---|---|
mbstring.language | "neutral" | INI_ALL |
|
mbstring.detect_order | NULL | INI_ALL |
|
mbstring.http_input | "pass" | INI_ALL |
Deprecated |
mbstring.http_output | "pass" | INI_ALL |
Deprecated |
mbstring.internal_encoding | NULL | INI_ALL |
Deprecated |
mbstring.substitute_character | NULL | INI_ALL |
|
mbstring.func_overload | "0" | INI_SYSTEM |
Deprecated as of PHP 7.2.0; removed as of 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 |
Available as of PHP 7.4.0. |
mbstring.regex_stack_limit | "100000" | INI_ALL |
Available as of PHP 7.3.5. |
Тут є коротке пояснення директив конфігурації.
mbstring.language
string
The default national language setting (NLS) used in mbstring. Note that this option
automagically defines mbstring.internal_encoding
and
mbstring.internal_encoding
should be placed
after mbstring.language
in php.ini
mbstring.encoding_translation
bool
Enables the transparent character encoding filter for the incoming HTTP queries, which performs detection and conversion of the input encoding to the internal character encoding.
mbstring.internal_encoding
string
Цей застарілий функціонал буде обов'язково видалено у майбутньому.
Defines the default internal character encoding.
Users should leave this empty and set
default_charset
instead.
mbstring.http_input
string
Цей застарілий функціонал буде обов'язково видалено у майбутньому.
Defines the default HTTP input character encoding.
Users should leave this empty and set
default_charset
instead.
mbstring.http_output
string
Цей застарілий функціонал буде обов'язково видалено у майбутньому.
Defines the default HTTP output character encoding (output will be converted from the internal encoding to the HTTP output encoding upon output).
Users should leave this empty and set
default_charset
instead.
mbstring.detect_order
string
Defines default character code detection order. See also mb_detect_order().
mbstring.substitute_character
string
Defines character to substitute for invalid character encoding. See mb_substitute_character() for supported values.
mbstring.func_overload
string
Цей функціонал ЗАСТАРІВ, починаючи з PHP 7.2.0, та ВИЛУЧЕНИЙ в PHP 8.0.0. Вкрай не рекомендується на нього покладатися.
Overloads a set of single byte functions by the mbstring counterparts. See Function overloading for more information.
This setting can only be changed from the php.ini file.
mbstring.http_output_conv_mimetypes
string
mbstring.strict_detection
bool
Enables strict encoding detection. See mb_detect_encoding() for a description and examples.
mbstring.regex_retry_limit
int
Limits the amount of backtracking that may be performed during one mbregex match.
This setting only takes effect when linking against oniguruma >= 6.8.0.
mbstring.regex_stack_limit
int
Limits the stack depth of mbstring regular expressions.
According to the » HTML 4.01 specification, Web browsers are allowed to encode a form being submitted with a character encoding different from the one used for the page. See mb_http_input() to detect character encoding used by browsers.
Although popular browsers are capable of giving a reasonably accurate guess
to the character encoding of a given HTML document, it would be better to
set the charset
parameter in the
Content-Type
HTTP header to the appropriate value by
header() or
default_charset ini setting.
Приклад #1 php.ini setting examples
; Set default language mbstring.language = Neutral; Set default language to Neutral(UTF-8) (default) mbstring.language = English; Set default language to English mbstring.language = Japanese; Set default language to Japanese ;; Set default internal encoding ;; Note: Make sure to use character encoding works with PHP mbstring.internal_encoding = UTF-8 ; Set internal encoding to UTF-8 ;; HTTP input encoding translation is enabled. mbstring.encoding_translation = On ;; Set default HTTP input character encoding ;; Note: Script cannot change http_input setting. mbstring.http_input = pass ; No conversion. mbstring.http_input = auto ; Set HTTP input to auto ; "auto" is expanded according to mbstring.language mbstring.http_input = SJIS ; Set HTTP input to SJIS mbstring.http_input = UTF-8,SJIS,EUC-JP ; Specify order ;; Set default HTTP output character encoding mbstring.http_output = pass ; No conversion mbstring.http_output = UTF-8 ; Set HTTP output encoding to UTF-8 ;; Set default character encoding detection order mbstring.detect_order = auto ; Set detect order to auto mbstring.detect_order = ASCII,JIS,UTF-8,SJIS,EUC-JP ; Specify order ;; Set default substitute character mbstring.substitute_character = 12307 ; Specify Unicode value mbstring.substitute_character = none ; Do not print character mbstring.substitute_character = long ; Long Example: U+3000,JIS+7E7E
Приклад #2 php.ini setting for EUC-JP
users
;; Disable Output Buffering output_buffering = Off ;; Set HTTP header charset default_charset = EUC-JP ;; Set default language to Japanese mbstring.language = Japanese ;; HTTP input encoding translation is enabled. mbstring.encoding_translation = On ;; Set HTTP input encoding conversion to auto mbstring.http_input = auto ;; Convert HTTP output to EUC-JP mbstring.http_output = EUC-JP ;; Set internal encoding to EUC-JP mbstring.internal_encoding = EUC-JP ;; Do not print invalid characters mbstring.substitute_character = none
Приклад #3 php.ini setting for SJIS
users
;; Enable Output Buffering output_buffering = On ;; Set mb_output_handler to enable output conversion output_handler = mb_output_handler ;; Set HTTP header charset default_charset = Shift_JIS ;; Set default language to Japanese mbstring.language = Japanese ;; Set http input encoding conversion to auto mbstring.http_input = auto ;; Convert to SJIS mbstring.http_output = SJIS ;; Set internal encoding to EUC-JP mbstring.internal_encoding = EUC-JP ;; Do not print invalid characters mbstring.substitute_character = none