현재 위치: > 최신 기사 목록> 지정된 문자열의 인코딩 정보를 얻으려면 mb_get_info를 사용하는 방법

지정된 문자열의 인코딩 정보를 얻으려면 mb_get_info를 사용하는 방법

gitbox 2025-05-11

다국어 문자열, 특히 중국어, 일본어 및 한국과 같은 다중 바이트 문자를 포함하는 문자열을 처리 할 때는 문자 인코딩을 올바르게 식별하고 처리하는 것이 특히 중요해집니다. PHP는 강력한 멀티 바이트 스트링 처리 확장 ( MBString )을 제공합니다. 여기서 MB_GET_INFO는 현재 MBString 의 구성 정보와 문자 인코딩과 관련된 중요한 매개 변수를 볼 수있는 매우 실용적인 기능입니다.

이 기사에서는 MB_GET_INFO 함수를 사용하여 문자열 인코딩 구성 정보를 가져오고 실제 사용법을 이해하는 데 도움이되는 간단한 예제를 제공하는 방법을 소개합니다.

mb_get_info 란 무엇입니까?

MB_GET_INFO는 현재 멀티 바이트 스트링 처리의 내부 설정 정보를 반환하는 PHP MBString 확장 기능의 함수입니다. 문자열의 실제 인코딩 ( MB_DETECT_ENCODING 과 같은 함수가 필요함)을 직접 알 수는 없지만 기본 인코딩, 내부 인코딩, HTTP 입력 및 출력 인코딩 및 기타 정보를 포함하여 현재 환경에서 MBString이 어떻게 동작하는지 보여줄 수 있습니다.

기능 프로토 타입

 mb_get_info(?string $type = null): array|string|false
  • $ type (선택 사항) : 구할 구성 정보 유형을 나타내는 문자열. 선택적 값은 다음과 같습니다.

    • 'All' : 모든 설정을 반환 (기본값)

    • '내부_encoding' : 내부 인코딩 설정으로 돌아갑니다

    • 'http_input' : HTTP 입력 인코딩 설정을 반환합니다

    • 'http_output' : HTTP 출력 인코딩 설정을 반환합니다

    • 'encoding_translation' : 인코딩 변환이 활성화되어 있는지 여부를 반환합니다

    • '언어' : 현재 언어 설정으로 돌아갑니다

    • 'Detect_order' : 현재 감지 순서를 반환합니다

샘플 코드

다음은 MB_GET_INFO를 사용하여 인코딩 정보를 보는 간단한 예입니다.

 <?php
// 기본 내부 인코딩을 설정하십시오 UTF-8
mb_internal_encoding("UTF-8");

// 모든 것을 얻으십시오 mbstring 구성 정보
$info = mb_get_info();

echo "<pre>";
print_r($info);
echo "</pre>";

// 내부 인코딩 정보를 얻으려면:
$encoding = mb_get_info("internal_encoding");
echo "현재 내부 코드는 다음과 같습니다:$encoding";
?>

출력 결과 (예)

위의 코드를 실행 한 후 다음 정보가 출력 될 수 있습니다 (일부 필드가 표시됨).

 Array
(
    [internal_encoding] => UTF-8
    [http_input] => pass
    [http_output] => pass
    [encoding_translation] => Off
    [language] => neutral
    [detect_order] => Array
        (
            [0] => ASCII
            [1] => UTF-8
        )
)
현재 내부 코드는 다음과 같습니다:UTF-8

실제 응용 시나리오

다국어 컨텐츠 관리 시스템 (CMS)을 개발한다고 가정하고 컨텐츠를 제출할 때 다른 인코딩 형식을 사용할 수 있습니다. MB_GET_INFO를 사용하여 현재 내부 인코딩 설정이 비정상적인 문자 디스플레이 또는 차량 코드 문제를 피하기 위해 시스템 구성과 일치하는지 확인할 수 있습니다.

예를 들어:

 <?php
// 현재 내부 코드가 있는지 확인하십시오 UTF-8
if (mb_get_info("internal_encoding") !== "UTF-8") {
    mb_internal_encoding("UTF-8");
}
?>

이 점검은 프로젝트의 초기화 코드에 배치되어 전체 응용 프로그램이 항상 통합 코딩 환경에서 실행되도록 할 수 있습니다.

요약

MB_GET_INFO 자체는 문자열 인코딩을 감지하지는 않지만 여전히 MBString 동작을 이해하고 마스터하는 데 중요한 도구입니다. PHP Multibyte String 처리의 설정을 확인하고 응용 프로그램에서 문자 인코딩이 올바르게 사용되도록하는 데 도움이됩니다.

문자열의 실제 인코딩을 추가로 감지 해야하는 경우 MB_DETECT_ENCODING을 사용하고 MB_GET_INFO를 사용하여 환경 구성을 이해할 수 있습니다. 두 가지의 조합은 가장 잘 작동합니다.

자세한 내용은 다음을 방문하십시오.
https://gitbox.net/docs/php/mbstring (샘플 링크)