>백엔드 개발 >PHP 문제 >PHP에서 json_decode 함수의 중국어 왜곡 문자를 해결하는 방법은 무엇입니까?

PHP에서 json_decode 함수의 중국어 왜곡 문자를 해결하는 방법은 무엇입니까?

Guanhui
Guanhui원래의
2020-07-21 16:00:175511검색

PHP에서 json_decode 함수의 중국어 왜곡 문자를 해결하는 방법은 무엇입니까?

PHP에서 json_decode 함수의 중국어 왜곡 코드를 해결하는 방법은 무엇입니까?

PHP에서 json_decode 함수의 중국어 왜곡 코드에 대한 해결 방법: 1. "urldecode()" 함수를 사용하여 데이터를 디코딩한 다음 디코딩 후 JSON 디코딩을 수행합니다. 해당 함수의 기능은 인코딩된 URL 문자열을 디코딩하는 것입니다. 2. JSON 인코딩에서는 중국어를 인코딩하지 마세요.

샘플 코드

<?php
    $testJSON=array(&#39;name&#39;=>&#39;中文字符串&#39;,&#39;value&#39;=>&#39;test&#39;);
    echo json_encode($testJSON);
?>

查看输出结果为:
{“name”:”\u4e2d\u6587\u5b57\u7b26\u4e32″,”value”:”test”}
可见即使用UTF8编码的字符,使用json_encode也出现了中文乱码。解决办法是在使用json_encode之前把字符用函数urlencode()处理一下,然后再json_encode,输出结果的时候在用函数urldecode()转回来。具体如下:


<?php
    $testJSON=array(&#39;name&#39;=>&#39;中文字符串&#39;,&#39;value&#39;=>&#39;test&#39;);
    //echo json_encode($testJSON);
    foreach ( $testJSON as $key => $value ) {
        $testJSON[$key] = urlencode ( $value );
    }
    echo urldecode ( json_encode ( $testJSON ) );
?>


查看输出结果为:



{“name”:”中文字符串”,”value”:”test”}

추천 튜토리얼: "PHP"

위 내용은 PHP에서 json_decode 함수의 중국어 왜곡 문자를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.