PHP에서 멀티 바이트 문자 인코딩을 처리하는 것은 특히 중국어, 일본어, 한국 및 기타 언어와 같은 언어를 다루어야 할 때 일반적인 요구 사항입니다. PHP는 MBString Extension (Multi-Byte String Extension)을 제공하여 PHP에 다중 바이트 문자를 처리 할 수있는 기능을 제공합니다. MB_GET_INFO 함수는 멀티 바이트 인코딩 관련 정보를 얻는 데 사용되는 도구 중 하나입니다.
MB_GET_INFO 함수는 MBString 확장자의 구성 및 상태 정보를 얻는 데 사용됩니다. 이 기능을 호출함으로써 개발자는 현재 MBString Extension의 설정, 인코딩 유형 및 기타 멀티 바이트 문자 처리 정보를 볼 수 있습니다. 멀티 바이트 문자 처리 디버깅, 구성 및 최적화에 매우 도움이됩니다.
이 함수에는 매개 변수가 없으며 호출되면 현재 MBString 구성의 세부 사항을 반환합니다.
<?php
// 얻다 mbstring 구성 정보
$info = mb_get_info();
print_r($info);
?>
이 코드를 실행 한 후 리턴 된 결과는 현재 사용되는 인코딩 방법, 메모리 사용, 문자 세트 등을 포함하여 MBString 구성을 포함하는 배열이됩니다.
MB_GET_INFO 가 반환 한 배열에는 다음 정보가 포함되어 있습니다.
Internal_encoding : 현재 사용되는 내부 문자 인코딩.
http_input : http 입력 문자 인코딩.
http_output : http 출력 문자 인코딩.
MBString. 언어 : 현재 언어 설정.
mbstring.encoding_translation : 인코딩 상태를 활성화합니다.
mbstring.detect_order : 문자 인코딩 감지 순서.
mbstring.substitute_character : 유효하지 않은 문자를 대체하는 데 사용되는 문자.
예를 들어, 다음 코드는 현재 멀티 바이트 인코딩 설정을 반환합니다.
<?php
// 얻다当前 mbstring 코딩 설정
$info = mb_get_info();
echo "내부 인코딩: " . $info['internal_encoding'] . "\n";
echo "HTTP 인코딩을 입력하십시오: " . $info['http_input'] . "\n";
echo "HTTP 출력 인코딩: " . $info['http_output'] . "\n";
?>
멀티 바이트 문자열을 다룰 때 일관되지 않은 인코딩 또는 비정상적인 문자 디스플레이가 발생할 수 있습니다. 현재 MB_GET_INFO 함수는 인코딩 설정이 올바른지 신속하게 확인하는 데 도움이 될 수 있습니다.
예를 들어, 중국어가 포함 된 문자열을 다룰 때 코드 문제가 발생한다고 가정 해 봅시다. mb_get_info를 사용하여 현재 내부_encoding이 UTF-8 으로 설정되어 있는지 확인할 수 있습니다. 이는 일반적으로 garbled 문제를 해결하는 열쇠입니다.
<?php
// 얻다 mbstring 구성
$info = mb_get_info();
// 如果내부 인코딩不是 UTF-8,설정해보십시오 UTF-8
if ($info['internal_encoding'] !== 'UTF-8') {
mb_internal_encoding('UTF-8');
echo "已将내부 인코딩设置为 UTF-8\n";
}
?>
MB_GET_INFO는 MBString 확장에 대한 지원이 필요하므로 PHP 환경에 확장자가 설치되어 활성화되어 있는지 확인하십시오.
MB_GET_INFO는 수신 매개 변수를 지원하지 않으므로 특정 인코딩의 세부 사항 대신 현재 구성 상태를 항상 반환합니다.