溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP中怎么使用 json_encode函數(shù)進行中文轉換

發(fā)布時間:2021-07-14 14:48:46 來源:億速云 閱讀:134 作者:Leah 欄目:編程語言

本篇文章為大家展示了PHP中怎么使用 json_encode函數(shù)進行中文轉換,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

json_encode 和 json_decode

  1. < ?PHP   

  2. $json = array (   

  3. 0 =>   

  4. array (   

  5. 'id' => '13',   

  6. 'name' => '乒乓球',   

  7. ),   

  8. 1 =>   

  9. array (   

  10. 'id' => '17',   

  11. 'name' => '籃球',   

  12. )   

  13. )   

  14. ?> 

如果直接用PHP json_encode函數(shù)

< ?PHP   echo json_encode($json);   ?>

結果為:

  1. < ?PHP   

  2. [{"id":"13","name":null}
    ,{"id":"13","name":null}]   

  3. ?>   

  4.  

可以看到漢字沒有被轉義 都為null,這是因為json僅僅轉義encoding編碼,故上面語句應該先轉換編碼

  1. < ?PHP   

  2. foreach ($ajax as $key=>$val)   

  3. {   

  4. $ajax[$key]['name'] = 
    urlencode($val['name']);   

  5. }   

  6. echo json_encode($json);   

  7. ?>   

客戶端js代碼

  1. < script type="text/javascript">   

  2. function getsort(obj)   

  3. {   

  4. $.ajax(   

  5. {   

  6. type : "GET",   

  7. url : "< ?=$this->baseUrl?>/index/getajax",   

  8. data : "c=" obj.value,   

  9. success : function(json)   

  10. {   

  11. var json=eval(json);   

  12. var html = '< select>';   

  13. $.each(json, function(k)   

  14. {   

  15. html = '< option value="' 
    json[k]['id'] '">' 
    decodeURI(json[k]['name']) '< /option>';   

  16. });   

  17. html ="< /select>";   

  18. $('#sort').html(html);   

  19. }   

  20. }   

  21. )   

  22. }   

  23. < /script>   

用上面的代碼js會報錯 說編碼不符合標準

原因是因為js 中decodeURI 僅僅支持utf8 轉碼。所以 ,PHP json_encode函數(shù)的代碼應該為下面的代碼

  1. < ?PHP   

  2. foreach ($ajax as $key=>$val)   

  3. {   

  4. $ajax[$key]['name'] = 
    urlencode(iconv('gb2312',
    'utf-8',$val['name']));   

  5. }   

  6. echo json_encode($json);   

  7. ?>   

  8.  

上述內容就是PHP中怎么使用 json_encode函數(shù)進行中文轉換,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

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

AI