PHP.mk документација

Конфигурација во време на извршување

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

mbstring.configuration.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека mbstring.configuration.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
Конфигурација во време на извршување

Референца за `mbstring.configuration.php` со подобрена типографија и навигација.

mbstring.configuration.php

Конфигурација во време на извршување

Поведението на овие функции е под влијание на поставките во php.ini.

mbstring опции за конфигурација
Име Стандардно Променливо Дневник на промени
mbstring.language "неутрално" INI_ALL    
mbstring.detect_order NULL INI_ALL    
mbstring.http_input "помине" INI_ALL Застарено
mbstring.http_output "помине" 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.
За подетални информации и дефиниции на INI_* режимите, видете го Каде може да се постави поставка за конфигурација.

Еве кратко објаснување на директивите за конфигурација.

mbstring.language string

Стандардната поставка за национален јазик (NLS) што се користи во mbstring. Забележете дека оваа опција автоматски дефинира mbstring.internal_encoding and mbstring.internal_encoding треба да се постави по mbstring.language in php.ini

mbstring.encoding_translation bool

Овозможува транспарентен филтер за кодирање на карактери за дојдовните HTTP барања, кој врши детекција и конверзија на влезната кодировка во внатрешната кодировка на карактери.

mbstring.internal_encoding string
Ги ескејпува специјалните знаци во стринг за употреба во SQL изјава

Оваа застарена функција will сигурно ќе биде removed во иднина.

Дефинира стандардна внатрешна кодировка на карактери.

Корисниците треба да го остават ова празно и да постават default_charset instead.

mbstring.http_input string
Ги ескејпува специјалните знаци во стринг за употреба во SQL изјава

Оваа застарена функција will сигурно ќе биде removed во иднина.

Дефинира стандардна влезна кодировка на HTTP карактери.

Корисниците треба да го остават ова празно и да постават default_charset instead.

mbstring.http_output string
Ги ескејпува специјалните знаци во стринг за употреба во SQL изјава

Оваа застарена функција will сигурно ќе биде removed во иднина.

Дефинира стандардна излезна кодировка на HTTP карактери (излезот ќе биде претворен од внатрешната кодировка во излезната кодировка на HTTP при излез).

Корисниците треба да го остават ова празно и да постават default_charset instead.

mbstring.detect_order string

Дефинира стандарден редослед за детекција на код на карактери. Погледнете исто така mb_detect_order().

mbstring.substitute_character string

Дефинира карактер за замена на неважечка кодировка на карактери. Погледнете mb_substitute_character() за поддржани вредности.

mbstring.func_overload string
Ги ескејпува специјалните знаци во стринг за употреба во SQL изјава

Претходната порака за грешка DEPRECATED Оваа функција е REMOVED од PHP 7.2.0, и

Преоптоварува сет на еднобајтни функции со mbstring еквиваленти. Погледнете Преоптоварување на функции Користење на PHP од командната линија

Оваа поставка може да се промени само од php.ini file.

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 параметар во Content-Type HTTP заглавието на соодветната вредност со header() or default_charset ini поставката.

Пример #1 php.ini поставување примери

; 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 поставување за 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 поставување за 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   

Белешки од корисници 2 забелешки

Хејли Вотсон
пред 7 години
String literals in the PHP script are encoded with the same encoding that the PHP file was saved with. This is not affected by default_charset or other .ini settings.

Scenario: The default_charset is KOI8-R, and there is a text file "input.txt" containing the string "Это текст для поиска." in KOI8-R encoding.

A PHP script is written:
<?php

// mb_internal_encoding('KOI8-R');

$string  = 'текст.';

$data = file_get_contents('input.txt');

echo mb_strpos($data, $string);

?>
But unfortunately it was saved as UTF-8.

It doesn't work; mb_strpos() returns false because it can't find the UTF-8-encoded "текст" inside the KOI8-R-encoded "Это текст для поиска.".

Adjusting the default_charset had no effect. Not even fiddling with mb_internal_encoding could fix it, simply because the strings involved had *different* encodings and without actually changing one of them they just weren't going to match.

Either re-save the source file as KOI8-R to match the data file, or re-save the data file as UTF-8 to match the source code. Only then will the script properly echo '4'.
Tr909 at com dot nospam dot bigfoot
пред 7 години
The documentation is vague, on WHAT precisely the valid "NLS" language strings are that are valid for "mbstring.language".

According to http://php.net/manual/en/function.mb-language.php the values are "Japanese", "ja", "English", "en", or "uni" for UTF-8. 
On the other hand, the sample on this current page omits "uni" but introduces "Neutral" as an undocumented option - which is also the default value:

<?php
var_dump( mb_language() );   // "neutral" (default if not set)
var_dump( mb_language( 'uni' ) );    // TRUE, valid language string
var_dump( mb_language() );    // "uni"
var_dump( mb_language( 'neutral' ) );    // TRUE, valid language string
var_dump( mb_language() );    // "neutral"
?>
Навигација

Прелистувај сродни теми и функции.

На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.