php 中文 decode_php json_decode 解析中文
$arr = array ('a'='北京');echo json_encode($arr); 以上代碼執(zhí)行后輸出: {a:\u5317\u4eac} PHP 底層已經(jīng)做了 unicode 處理,如果嫌它不夠直觀,可以利用 urlencode 和 urldecode 方法繞過這個轉(zhuǎn)碼為 unicode 的過程: $arr = array ('a'=urlencode('北京'
$arr = array ('a'=>'北京');
echo json_encode($arr);
以上代碼執(zhí)行后輸出:
{“a”:”\u5317\u4eac”}
PHP 底層已經(jīng)做了 unicode 處理,如果嫌它不夠直觀,可以利用 urlencode 和 urldecode 方法繞過這個轉(zhuǎn)碼為 unicode 的過程:
$arr = array ('a'=>urlencode('北京'));
echo urldecode(json_encode($arr));
以上代碼執(zhí)行后輸出:{“a”:”北京”}
但是對于抓取來的 json 我們沒辦法修改別人的服務(wù)器,有這么一個方法可處理;
$code = json_encode($str);
$code = preg_replace("#\\\u([0-9a-f]+)#ie", "iconv('UCS-2', 'UTF-8', pack('H4', '\\1'))", $code);
print_r( mb_convert_encoding(stripslashes($code), "GBK", "UTF-8") );
另:在 php cli 模式下不能輸出 utf-8 編碼的字符,原因是 cmd 下只能顯示 936 編碼
處理辦法是,把utf-8 編碼的內(nèi)容用 mb_convert_encoding 函數(shù)轉(zhuǎn)化一下:如下
mb_convert_encoding("utf-8 的內(nèi)容", "GBK", "UTF-8");
總結(jié)
以上是生活随笔為你收集整理的php 中文 decode_php json_decode 解析中文的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 求集合平均数_图像二值化方法介
- 下一篇: php 正则第一个,为什么这个正则表达式