最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php5.2 Json不能正確處理中文、GB編碼的解決方法

 更新時(shí)間:2014年03月28日 17:49:27   作者:  
json_encode對(duì)中文的處理是有問(wèn)題,不能處理GB編碼,所有的GB編碼都會(huì)替換成空字符,下面有個(gè)不錯(cuò)的解決方法,大家可以參考下
php5.2新增的json功能是非常受歡迎的,但是經(jīng)過(guò)測(cè)試發(fā)現(xiàn),
json_encode對(duì)中文的處理是有問(wèn)題的,
1.不能處理GB編碼,所有的GB編碼都會(huì)替換成空字符.
2.utf8編碼的中文被編碼成unicode編碼,相當(dāng)于javascript的escape函數(shù)處理的結(jié)果.
復(fù)制代碼 代碼如下:

/*

為了能正確使用json,首先我們就應(yīng)該在編碼上采用utf8編碼,然后再對(duì)json_encode的返回結(jié)果稍加處理就可以得到正確的結(jié)果了。
我寫(xiě)了一個(gè)簡(jiǎn)單的類,將這兩個(gè)函數(shù)包裝了一下,
**/
class Json{
public static function encode($str){
$code = json_encode($str);
return preg_replace("#\\\u([0-9a-f]+)#ie", "iconv('UCS-2', 'UTF-8', pack('H4', '\\1'))", $code);
}

public static function decode($str){
return json_decode($str);
}
}
//使用的時(shí)候

Json::encode($code);
Json::decode($code);
/**這樣可以正確處理utf8編碼的中文了。

PS:對(duì)于GB編碼的中文,我們可以在編碼時(shí)先轉(zhuǎn)成UTF8編碼,再進(jìn)行編碼,解碼的時(shí)候再進(jìn)行一個(gè)utf8 -> gb的轉(zhuǎn)換就可以了。
另外一般json_encode的結(jié)果我們是返回到客戶端來(lái)使用,我們其實(shí)還可以用javascript的unescape函數(shù)來(lái)對(duì)unicode編碼的中文進(jìn)行解碼,從而還原成正確的中文。

或者用:$title = mb_convert_encoding($title, 'HTML-ENTITIES', $this->_outCharset);//任意編碼下都正常顯示
********/

相關(guān)文章

最新評(píng)論

璧山县| 汕头市| 万年县| 南城县| 淳化县| 百色市| 万源市| 新蔡县| 霸州市| 东宁县| 伊吾县| 渭源县| 徐州市| 镇巴县| 孟津县| 宣武区| 乌鲁木齐市| 时尚| 海盐县| 密山市| 武安市| 越西县| 遵化市| 淮北市| 梓潼县| 育儿| 如东县| 余干县| 辛集市| 塔城市| 乌兰察布市| 报价| 靖边县| 宜州市| 大英县| 安义县| 汶川县| 汾阳市| 锡林浩特市| 宜宾县| 涿州市|