현재 위치: > 최신 기사 목록> mb_http_input로 mb_get_info를 사용하는 방법 HTTP 요청에서 인코딩을 얻으십시오.

mb_http_input로 mb_get_info를 사용하는 방법 HTTP 요청에서 인코딩을 얻으십시오.

gitbox 2025-05-29

PHP 개발에서 멀티 바이트 문자열을 다룰 때 MBString 확장을 사용하여 특히 다국어 웹 사이트를 처리하거나 다른 클라이언트의 데이터를 처리 할 때 문자 인코딩의 정확성을 보장합니다. 요청에서 문자 인코딩을 올바르게 처리하려면 MB_HTTP_INPUT ()MB_GET_INFO () 는 매우 실용적인 도구입니다.

이 기사에서는이 두 기능을 통해 HTTP 요청에서 문자 인코딩을 얻는 방법을 자세히 설명하고 그 용도와 차이점을 설명합니다.

1.

MB_HTTP_INPUT () 함수는 HTTP 입력의 문자 인코딩을 감지하는 데 사용될 수 있습니다. 감지 할 수있는 입력 유형은 다음과 같습니다.

  • 'G' : 데이터를 얻습니다

  • 'P' : 게시물 데이터

  • 'C' : 쿠키 데이터

  • 'S' : 문자열 입력 (모두)

  • 'I' : 자동 감지 (우선 순위 : Post> Get> 쿠키)

샘플 코드 :

 <?php
// 시험 POST 데이터의 문자 인코딩
$post_encoding = mb_http_input('P');

if ($post_encoding) {
    echo "POST 요청 된 문자 인코딩은입니다: {$post_encoding}\n";
} else {
    echo "未能시험到 POST 요청 된 인코딩\n";
}
?>

예를 들어 양식으로 데이터를 제출하는 경우 (예 :

 <form method="post" action="https://gitbox.net/submit.php">
  <input type="text" name="username">
  <input type="submit" value="제출하다">
</form>

위의 PHP 스크립트는 제출 된 게시물 데이터 (예 : UTF-8 또는 EUC-JP)에서 사용하는 인코딩을 감지 할 수 있습니다.

2. MB_GET_INFO - MBString 구성 정보를 얻습니다

MB_GET_INFO ()MBString 의 현재 구성 정보를 반환 할 수있는 다기능 진단 기능입니다. 통화 중에 매개 변수가 전달되지 않으면 모든 정보가 반환됩니다. 특정 프로젝트 이름을 전달하여 "http_input" 과 같은 특정 설정을 쿼리 할 수도 있습니다.

샘플 코드 :

 <?php
// 모든 것을 얻으십시오 mbstring 정보
$mb_info = mb_get_info();
echo "현재의 HTTP 입력 코드가 설정됩니다: " . $mb_info['http_input'] . "\n";

// 아니면 그냥 얻으십시오 http_input 부분
$http_input = mb_get_info("http_input");
echo "HTTP 인코딩 설정을 입력하십시오: {$http_input}\n";
?>

참고 : MB_GET_INFO ( "HTTP_INPUT") 실제 요청 데이터 인코딩이 아닌 MBString (예 : Auto , UTF-8 등)의 기본 입력 인코딩 설정을 반환합니다. 따라서 MB_HTTP_INPUT () 는 "실제 요청에 인코딩이 사용되는 인코딩"을 확인하기위한 첫 번째 선택입니다.

3. 두 기능의 조합

서버가 클라이언트의 요청 데이터를 올바르게 수신하고 처리 할 수 ​​있는지 확인하려면 다음은 실제 응용 프로그램입니다.

 <?php
// 기본 문자 인코딩을 설정합니다
mb_internal_encoding("UTF-8");
mb_http_input("auto");

// 얻다 POST 실제 문자 인코딩이 요청되었습니다
$actual_encoding = mb_http_input('P');

// 얻다 mbstring 현재의 HTTP 설정을 입력하십시오
$configured_encoding = mb_get_info("http_input");

echo "실제 요청 코드는입니다: {$actual_encoding}\n";
echo "mbstring 구성되었습니다 HTTP 설정을 입력하십시오为: {$configured_encoding}\n";
?>

이 코드는 개발자가 다음과 같은 문자 문제를 해결하는 데 도움이됩니다. 클라이언트가 전송하는 인코딩이 서버 구성과 일치하지 않는지 또는 MBString 설정이 기본 동작을 무시하지 않도록 도와줍니다.

4. 요약

  • MB_HTTP_INPUT ()를 사용하여 요청에 실제로 사용되는 문자 인코딩을 얻으십시오.

  • MB_GET_INFO ()를 사용하여 기본 HTTP 입력 인코딩을 포함하여 MBString 의 현재 구성을 얻으십시오.

  • 이 둘의 조합은 코딩 문제에 대한보다 포괄적 인 이해와 디버깅을 허용하여 응용 프로그램이 사용자 입력을 올바르게 처리 할 수 ​​있도록합니다.

다국어 웹 사이트 또는 국제 양식 데이터를 처리 할 때 MBString은 항상 활성화되고 올바르게 구성되며 정기적으로 서버 동작이 위의 방법을 통해 클라이언트 데이터와 일치하는지 정기적으로 확인하는 것이 좋습니다.

Barkled 문자 코드 문제를 디버깅하거나 다른 지역과 관련된 응용 프로그램을 개발하고 있습니까?