国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

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

2024-05-04 23:22:30
字體:
來源:轉載
供稿:網友
php5.2新增的json功能是非常受歡迎的,但是經過測試發現,
json_encode對中文的處理是有問題的,
1.不能處理GB編碼,所有的GB編碼都會替換成空字符.
2.utf8編碼的中文被編碼成unicode編碼,相當于javascript的escape函數處理的結果.

復制代碼 代碼如下:


/*

為了能正確使用json,首先我們就應該在編碼上采用utf8編碼,然后再對json_encode的返回結果稍加處理就可以得到正確的結果了。
我寫了一個簡單的類,將這兩個函數包裝了一下,
**/
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);
}
}
//使用的時候

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

PS:對于GB編碼的中文,我們可以在編碼時先轉成UTF8編碼,再進行編碼,解碼的時候再進行一個utf8 -> gb的轉換就可以了。
另外一般json_encode的結果我們是返回到客戶端來使用,我們其實還可以用javascript的unescape函數來對unicode編碼的中文進行解碼,從而還原成正確的中文。

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 额敏县| 繁峙县| 永定县| 芒康县| 灵石县| 台州市| 阿城市| 建宁县| 伊春市| 宜兰县| 威远县| 七台河市| 积石山| 湘乡市| 康保县| 子洲县| 无棣县| 平塘县| 岳普湖县| 来凤县| 兴隆县| 左云县| 凤城市| 西乌珠穆沁旗| 洪洞县| 历史| 马公市| 盈江县| 栖霞市| 东港市| 盐津县| 寿阳县| 峡江县| 屏边| 大冶市| 吐鲁番市| 德令哈市| 景德镇市| 永泰县| 海口市| 绥宁县|