Multibyte String 설치 런타임 구성

이러한 함수의 동작은 php.ini의 설정에 영향을 받습니다.

mbstring 구성 옵션

이름 Default Changeable Changelog
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  

PHP_INI_* 모드에 대한 자세한 내용과 정의는 구성 설정을 설정할 수 있는 위치를 참조하세요. 다음은 구성 지시문에 대한 간단한 설명입니다.

mbstring.language string
mbstring에 사용되는 기본 국가 언어 설정(NLS)입니다. 이 옵션은 mbstring.internal_encoding을 자동으로 정의하고 mbstring.internal_encodingphp.ini에서 mbstring.language 뒤에 위치해야 합니다.
mbstring.encoding_translation bool
입력 인코딩을 감지하고 내부 문자 인코딩으로 변환하는 들어오는 HTTP 쿼리에 대해 투명 문자 인코딩 필터를 활성화합니다.
mbstring.internal_encoding string

경고 이 더 이상 사용되지 않는 기능은 향후 제거될 것입니다.

기본 내부 문자 인코딩을 정의합니다.

사용자는 이것을 비워두고 대신 default_charset을 설정해야 합니다.

mbstring.http_input string

경고 이 더 이상 사용되지 않는 기능은 향후 제거될 것입니다.

기본 내부 문자 인코딩을 정의합니다.

사용자는 이것을 비워두고 대신 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에 의해 단일 바이트 함수 세트를 오버로드합니다. 자세한 내용은 Function overloading을 참조하세요.

이 설정은 php.ini 파일에서만 변경할 수 있습니다.

mbstring.http_output_conv_mimetypes string
mbstring.strict_detection bool
엄격한 인코딩 감지를 활성화합니다. 설명과 예는 mb_detect_encoding()을 참조하십시오.

» HTML 4.01 사양에 따라 웹 브라우저는 제출되는 양식을 페이지에 사용된 것과 다른 문자 인코딩으로 인코딩할 수 있습니다. 브라우저에서 사용하는 문자 인코딩을 감지하려면 mb_http_input()을 참조하세요.

대중적인 브라우저는 주어진 HTML 문서의 문자 인코딩에 합리적으로 정확한 추측을 제공할 수 있지만, header() 또는 default_charset ini 설정에 의해 Content-Type HTTP 헤더의 charset 매개변수를 적절한 값으로 설정하는 것이 더 나을 것입니다.

예제 #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 EUC-JP 사용자를 위한 php.ini 설정

;; 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 SJIS 사용자를 위한 php.ini 설정

;; 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