中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

如何解決json中文字符串中文亂碼問題

發布時間:2021-12-13 18:21:00 來源:億速云 閱讀:3194 作者:柒染 欄目:大數據

本篇文章給大家分享的是有關如何解決json中文字符串中文亂碼問題,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

案例一

今天面試被問到這個問題,明明以前是知道的,半年沒碰之后,硬是沒有想起來,只好硬著頭皮說,tp自帶的json助手函數是不會有這個問題的,場面一度十分尷尬。

看例子把

<?phpheader("Content-type:application/json;charset=utf-8");$array = ['中文','234','abc'];echo json_encode($array)

返回結果:修改前

如何解決json中文字符串中文亂碼問題

PHP5.4版本后,已經給Json新增了一個選項: JSON_UNESCAPED_UNICODE。加上這個選項后,就不會自動把中文編碼了。
修改后的代碼

 

header("Content-type:application/json;charset=utf-8");$array = ['中文','234','abc'];echo json_encode($array,JSON_UNESCAPED_UNICODE);

結果:修改后

如何解決json中文字符串中文亂碼問題

這樣就順利解決了

案例二

PHP 和 JavaScript 交互其實很方便,PHP 原生也提供了對 JSON 格式的支持。主要包括 JSON 編碼和解碼兩個函數:

代碼如下:

json_endoce: http://cn.php.net/json_encode
json_dedoce: http://cn.php.net/json_decode

json_encode — 對變量進行 JSON 編碼,并返回 value 值的 JSON 形式,例如:

<?php$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);echo json_encode($arr);?>

以上代碼執行后輸出:

{"a":1,"b":2,"c":3,"d":4,"e":5}

假如要編碼的數據源(一般是一個數組),value 中包含中文,經過 json_encode 處理后輸出的是 unicode 編碼。

<?php$arr = array ('a'=>'億速云');echo json_encode($arr);?>

以上代碼執行后輸出:

{"a":"\u811a\u672c\u4e4b\u5bb6"}

PHP 底層已經做了 unicode 處理,如果嫌它不夠直觀,可以利用 urlencode 和 urldecode 方法繞過這個轉碼為 unicode 的過程:

如何解決json中文字符串中文亂碼問題

如何解決json中文字符串中文亂碼問題

先urlencode編碼再urldecode解碼

$arr = array ('a'=>urlencode('億速云'));echo urldecode(json_encode($arr));

以上代碼執行后輸出:

{"a":"億速云"}

以上就是如何解決json中文字符串中文亂碼問題,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

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

AI

中阳县| 治县。| 乌兰县| 邵武市| 泰安市| 广州市| 延川县| 礼泉县| 奇台县| 昌吉市| 湟源县| 尉犁县| 宁南县| 高邮市| 珲春市| 大余县| 武宁县| 滦平县| 剑河县| 新密市| 长治县| 万州区| 广灵县| 肥城市| 黄龙县| 朝阳市| 惠东县| 黔南| 松溪县| 新化县| 墨玉县| 大田县| 黔西县| 黄大仙区| 伊春市| 洞头县| 清流县| 宜春市| 广德县| 桐乡市| 长子县|