MB_GET_INFO 함수의 주요 기능은 MBString 확장자의 구성 정보를 반환하는 것입니다. 이는 MBString 구성이 포함 된 배열을 반환합니다. 이 배열에는 현재 환경에서 MBString의 다양한 구성이 포함되어 있으며, 이는 특히 멀티 바이트 인코딩을 지원하는 문자열 처리 기능에 유용합니다.
mb_get_info(string $type = "all"): array
매개 변수 설명 :
$ 유형 : 검색 할 정보 유형을 지정합니다. 기본값은 모든 구성 정보를 얻기 위해 "모두" 입니다. 사용 가능한 다른 값은 다음과 같습니다.
"Internal_encoding" : 현재 내부 문자 인코딩.
"http_input" : HTTP 입력 문자 인코딩.
"http_output" : HTTP 출력 문자 인코딩.
"mbstring.encoding_translation" : 문자 인코딩 변환이 활성화되는지 여부.
"mbstring.func_overload" : 함수 과부하가 활성화되어 있는지 여부.
"mbstring.language" : 로케일 설정.
"mbstring.http_output_conv_mimeType" : 문자 인코딩 변환이 활성화되는지 여부.
mb_get_info 함수는 구성 항목이 포함 된 배열을 반환합니다.
다음은 MBSTRING 구성에 대한 관련 정보를 얻기 위해 MB_GET_INFO 함수를 사용하는 방법을 보여주는 예입니다.
<?php
// 모든 것을 얻으십시오mbstring구성
$info = mb_get_info();
print_r($info);
// 내부 문자 인코딩 설정을 가져옵니다
$internal_encoding = mb_get_info("internal_encoding");
echo "현재 내부 인코딩:$internal_encoding\n";
// 얻다HTTP입력 문자 인코딩 설정
$http_input = mb_get_info("http_input");
echo "HTTP인코딩을 입력하십시오:$http_input\n";
?>
출력 결과는 다음과 유사합니다.
Array
(
[internal_encoding] => UTF-8
[http_input] => auto
[http_output] => UTF-8
[mbstring.encoding_translation] => 1
[mbstring.func_overload] => 0
[mbstring.language] => Japanese
[mbstring.http_output_conv_mimetype] =>
)
현재 내부 인코딩:UTF-8
HTTP인코딩을 입력하십시오:auto
이 예에서는 먼저 MB_GET_INFO ()를 사용하여 모든 MBString 구성 정보를 가져 와서 print_r 을 통해 인쇄합니다. 그런 다음 내부 인코딩 및 HTTP 입력 인코딩을 각각 가져 와서 화면에 출력합니다.
멀티 바이트 문자열로 작업 할 때 올바른 문자 인코딩을 설정하는 것이 중요합니다. mb_internal_encoding ()을 사용하여 PHP 스크립트의 내부 문자 인코딩을 설정할 수 있습니다. UTF-8 인코딩은 일반적으로 권장되며 대부분의 언어로 문자를 지원할 수 있습니다.
mb_internal_encoding("UTF-8");
strlen 및 substr 과 달리 MB_strlen 및 MB_Substr는 멀티 바이트 문자를 올바르게 처리합니다. 예를 들어, 한자는 UTF-8 인코딩에서 3 바이트를 차지하는 반면 Strlen은 실수로 3 자라고 생각합니다. MB_STRLEN은 이러한 문자를 올바르게 처리 할 수 있습니다.
$str = "안녕하세요,세계";
echo mb_strlen($str, "UTF-8"); // 산출:6
마찬가지로, MB_Substr는 또한 문자를 파괴하지 않고 멀티 바이트 문자열을 가로 채기 위해 사용될 수 있습니다.
echo mb_substr($str, 0, 2, "UTF-8"); // 산출:안녕하세요
프로그램이 다른 인코딩으로 문자열을 처리 해야하는 경우 MB_CONVERT_ENCODING는 인코딩 변환에 매우 편리 할 수 있습니다.
$str = "こんにちは";
$converted = mb_convert_encoding($str, "UTF-8", "SJIS");
echo $converted; // 산출:こんにちは
일부 응용 프로그램에서는 인코딩 유형의 문자열을 결정해야 할 수도 있습니다. mb_detect_encoding 함수는 문자열의 인코딩을 감지하는 데 사용될 수 있습니다.
$str = "안녕하세요,세계";
$encoding = mb_detect_encoding($str, "UTF-8, SJIS, eucjp-win");
echo $encoding; // 산출:UTF-8
때로는 특정 문자열 함수 (예 : substr , strtolower 등)를 MBString 함수에 자동으로 오버로드하여 멀티 바이트 문자를 올바르게 처리 할 수 있습니다. mbstring.func_overload 지시문을 사용하여 기능 과부하를 활성화 할 수 있습니다.
// 할 수 있게 하다mbstring기능 과부하
ini_set('mbstring.func_overload', 7);
이러한 방식으로 PHP가 Strtolower 및 Substr 과 같은 기능을 호출 할 때 MB_Strtolower 및 MB_Substr 등을 자동으로 호출하여 다중 바이트 문자가 올바르게 처리되도록합니다.
MB_GET_INFO 기능은 PHP 개발자에게 MBString 구성을 쉽게 볼 수있는 방법을 제공하여 멀티 바이트 문자열 처리를 디버그하고 최적화하는 데 도움이됩니다. 인코딩을 합리적으로 설정하고 멀티 바이트 문자열 기능을 사용하고 기능 과부하를 가능하게함으로써 개발자는 다양한 언어와 문자 세트를 효과적으로 처리하여 세계화 된 환경에서 응용 프로그램의 정확성과 호환성을 보장 할 수 있습니다.
PHP 개발에서 이러한 멀티 바이트 문자열 처리 기술을 이해하고 잘 활용하는 것은 여러 언어 및 문자 세트를 지원하는 응용 프로그램을 개발하는 데 중요합니다. 이 기사를 소개함으로써 MB_GET_INFO 및 기타 MBSTRING 기능을보다 능숙하게 사용하여 개발 효율성과 코드 품질을 향상시킬 수 있기를 바랍니다.