在web開發中,我們常常使用get請求從服務端獲取json格式的數據。但有時候會遇到json數據返回亂碼的問題。那么,這個問題是如何產生的呢?
首先,我們需要知道json數據是以utf-8編碼格式傳輸的,如果服務端返回的數據不是utf-8編碼,那么在頁面上顯示時就會出現亂碼。
解決這個問題的方法有兩種:
1.在服務端設置utf-8編碼格式
header('Content-Type:application/json; charset=utf-8'); echo json_encode($data);
這樣,在發起get請求時就會得到utf-8編碼格式的json數據,從而避免亂碼。
2.在前端設置解析編碼格式
$.ajax({ type: "GET", url: "url地址", dataType: "json", success: function (data) { //解決亂碼問題 var res = JSON.parse( decodeURIComponent(escape(JSON.stringify(data))) ); //處理數據 } });
在返回數據時,把json數據進行轉義編碼,再把它解碼,從而得到utf-8編碼格式的json數據,避免亂碼。
總之,在開發中遇到json數據返回亂碼的情況,我們需要檢查服務端和前端的編碼格式是否一致,以及是否進行了編碼和解碼等操作。
上一篇c json的形式
下一篇MySQL刪除表中的屬性