一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

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

php5.2新增的json功能是非常受歡迎的,但是經(jīng)過測(cè)試發(fā)現(xiàn),
json_encode對(duì)中文的處理是有問題的,
1.不能處理GB編碼,所有的GB編碼都會(huì)替換成空字符.
2.utf8編碼的中文被編碼成unicode編碼,相當(dāng)于Javascript的escape函數(shù)處理的結(jié)果.
復(fù)制代碼 代碼如下:
/*

為了能正確使用json,首先我們就應(yīng)該在編碼上采用utf8編碼,然后再對(duì)json_encode的返回結(jié)果稍加處理就可以得到正確的結(jié)果了。
我寫了一個(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é)果我們是返回到客戶端來使用,我們其實(shí)還可以用Javascript的unescape函數(shù)來對(duì)unicode編碼的中文進(jìn)行解碼,從而還原成正確的中文。

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

php技術(shù)php5.2 Json不能正確處理中文、GB編碼的解決方法,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 91精品免费国产高清在线 | 四虎免费最新在线永久 | 国产福利在线观看 | 免费观看视频成人国产 | 久久免费区一区二区三波多野 | 四虎网址 | 亚洲欧美久久婷婷爱综合一区天堂 | 国产短视频精品区第一页 | 美女黄色一级毛片 | 四虎4hu永久在线观看 | 久久两性视频 | 伊人插| 欧美精品v国产精品v | 中文字幕va一区二区三区 | 久久久久久夜精品精品免费啦 | 国产精品第九页 | 一区二区在线看 | 91免费视频网站 | 久久99国产乱子伦精品免 | 99精品久久秒播无毒不卡 | www.色婷婷 | 欧美一区综合 | 热re66久久精品国产99re | 亚洲一区二区三区高清 | 丁香午夜婷婷 | 日本视频www色 | 手机天堂 | 99热香蕉| 亚洲精品国产手机 | 国产一区二区三区在线观看免费 | 中文字幕日韩精品一区口 | 久久综合香蕉久久久久久久 | 在线精品国产一区二区 | 欧美黄色精品 | 国产91精品久久久久999 | 日本三区| 国产精品手机在线观看 | 国产2| 欧美三级黄视频 | 色综合色综合色综合色综合 | 在线亚洲精品中文字幕美乳 |