PHP에서 JSON 인코딩 및 디코딩을 사용할 때 중국인은 일반적인 문제입니다. 일반적으로 이것은 서버와 클라이언트 간의 일관되지 않은 문자 인코딩 때문입니다. 이 기사는 문자 인코딩을 설정하고 인코딩을 수동으로 변환 하여이 문제를 해결하는 방법을 자세히 설명합니다.
PHP에서 JSON 인코딩 및 디코딩 프로세스에서 캐릭터 인코딩이 일관되도록하기 위해 HTTP 헤더 정보에서 문자 인코딩은 Header () 함수를 통해 설정할 수 있습니다. 이것은 중국어가 달린 코드의 출현을 피할 수 있습니다. 다음은 샘플 코드입니다.
헤더 ( 'content-type : application/json; charset = utf-8'); $ data = 배열 ( '이름'=> 'Zhang San', 'Age'=> 25, 'city'=> '베이징' ); $ json = json_encode ($ data, json_unescaped_unicode); echo $ json;
이 예에서는 HTTP 헤더의 문자 인코딩을 UTF-8로 설정하고 JSON_ENCODE () 함수를 사용하여 중국어가 포함 된 데이터를 JSON 형식으로 변환하는 동시에 JSON_UNESCAPED_UNICODE 매개 변수를 지정하여 중국어를 유니 코드로 탈출하지 않습니다.
서버와 클라이언트 간의 문자 인코딩 일관성을 확인할 수없는 경우 인코딩을 수동으로 변환하여 코드를 피할 수 있습니다. 다음은 수동으로 인코딩을 변환하는 예입니다.
$ data = 배열 ( '이름'=> 'li si', 'Age'=> 30, 'city'=> '상하이' ); // 인코딩 중에 인코딩을 수동으로 변환합니다. $ json = json_encode ($ data, json_unescaped_unicode); $ json = mb_convert_encoding ($ json, 'utf-8', 'utf-8'); // 디코딩 중에 인코딩을 수동으로 변환합니다. $ json = mb_convert_encoding ($ json, 'utf-8', 'utf-8'); $ data = json_decode ($ json, true); var_dump ($ data);
이 코드에서는 MB_CONVERTT_ENCODING () 함수를 사용하여 인코딩의 일관성을 보장하여 중국어가 달린 코드의 문제를 피할 수 있습니다.
PHP에서 JSON 인코딩 및 디코딩 중에 중국의 차량 블러드 코드의 문제를 해결하려면 문자 인코딩 또는 수동으로 인코딩을 수동으로 변환함으로써이를 달성 할 수 있습니다. 사용 된 방법에 관계없이 서버와 클라이언트 간의 코딩 일관성을 보장하는 것이 중요합니다.
이 기사에 제공된 솔루션이 PHP에서 JSON 인코딩 및 디코딩 문제를 효과적으로 해결하는 데 도움이되기를 바랍니다. 다른 질문이 있으시면 메시지를 남겨 두십시오.