溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

PHP中的json_decode函數(shù)出現(xiàn)中文亂碼怎么辦

發(fā)布時(shí)間:2020-07-21 17:23:13 來源:億速云 閱讀:790 作者:小新 欄目:編程語言

今天小編給大家分享的是PHP中的json_decode函數(shù)出現(xiàn)中文亂碼怎么辦,相信很多人都不太了解,為了讓大家更加了解,所以給大家總結(jié)了以下內(nèi)容,一起往下看吧。一定會(huì)有所收獲的哦。

PHP中json_decode函數(shù)中文亂碼解決方法:

1、使用函數(shù)“urldecode()”將數(shù)據(jù)進(jìn)行解碼,解碼后再進(jìn)行JSON解碼,其函數(shù)的作用是解碼已編碼的URL字符串;

2、在JSON編碼的時(shí)候,不要將中文編碼即可。

示例代碼

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

查看輸出結(jié)果為:
{“name”:”\u4e2d\u6587\u5b57\u7b26\u4e32″,”value”:”test”}
可見即使用UTF8編碼的字符,使用json_encode也出現(xiàn)了中文亂碼。解決辦法是在使用json_encode之前把字符用函數(shù)urlencode()處理一下,然后再json_encode,輸出結(jié)果的時(shí)候在用函數(shù)urldecode()轉(zhuǎn)回來。具體如下:


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


查看輸出結(jié)果為:



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

關(guān)于PHP中的json_decode函數(shù)出現(xiàn)中文亂碼怎么辦就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的參考價(jià)值,可以學(xué)以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI