本文目錄一覽:
- 1、php json亂碼問題
- 2、php怎麼解析utf-8帶BOM編碼的json數據,php解析json數據返回NULL
- 3、php json 返回時的編碼問題!網頁編碼是utf8的
- 4、php解析json數據
- 5、PHP關於AJAX JSON如何設置GBK UTF8的問題,我接受不到數據庫返回的中文,只能接受英文
php json亂碼問題
你網頁用的是什麼編碼,就讓PHP服務器端返回什麼編碼的json。最好兩邊統一,比如都用UTF8 或者 gb2312。推薦使用UTF8。
php怎麼解析utf-8帶BOM編碼的json數據,php解析json數據返回NULL
方法一:在你輸出的時候就進行處理,在轉為json之前對中文進行轉碼;
方法二:
$json = json_decode(trim($json,chr(239).chr(187).chr(191)),true);
方法三:
function prepareJSON($input){
if(substr($input,0,3) == pack(“CCC”,0xEF,0xBB,0xBF)) $input = substr($input,3);
return $input;
}
php json 返回時的編碼問題!網頁編碼是utf8的
這個很正常呀
“\u4f60\u597d” 就是json編碼後的數據。是不是—『你好』 嘎嘎。
我猜你是用的類似ajax的無刷新提交吧
javascript有個函數eval()可以解碼json的
獲得這個數據的方法 :
var data=eval(sql_data)
其中sql_data就是數據庫返回的值
這樣之後變量data就是一個數組。
然後你可以處理數組。
alert(data[0][title] )—–就相當於alert(‘你好『)
php解析json數據
json_encode
對中文的處理是有問題的:
不能處理GBK編碼,所有的GBK編碼都會替換成空字符;
utf8編碼的中文被編碼成unicode編碼,相當於javascript的escape函數
處理的結果。
為了能正確使用json,首先我們就應該在編碼上採用utf8編碼,然後再對
json_encode的返回結果稍加處理就可以得到正確的結果了。
即需要加:原始數據$json=iconv(“GBK”,”UTF-8″,$json);
json_decode之後需要顯示或使用時,再轉回來
echo iconv(“UTF-8″,”GBK”,$decode[‘data’][0][‘APPName’]);
PHP關於AJAX JSON如何設置GBK UTF8的問題,我接受不到數據庫返回的中文,只能接受英文
最好把你要用到的文件編碼都改成utf-8的,把數據庫中表的和字段的編碼都設置成utf-8的,那樣就可以都獲取到了
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/158267.html
微信掃一掃
支付寶掃一掃