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

php中json_encode中文編碼問題分析

 更新時(shí)間:2011年09月13日 19:52:52   作者:  
眾所周知使用json_encode可以方便快捷地將對(duì)象進(jìn)行json編碼,但是如果對(duì)象的屬性中存在著中文,問題也就隨之而來了。json_encode會(huì)將中文轉(zhuǎn)換為unicode編碼
例如:'胥'經(jīng)過json_encode處理后變?yōu)?\u80e5',最終的json中中文部分被替換為unicode編碼。我們要解決的就是將對(duì)象轉(zhuǎn)換為json并保證對(duì)象內(nèi)部的中文在json中仍然是以正常的中文出現(xiàn),現(xiàn)在看來只使用json_encode是不能達(dá)到目的的。
  我的解決方法:先將類中的中文字段進(jìn)行url編碼(urlencode),然后再對(duì)對(duì)象進(jìn)行json編碼(jsonencode),最后url解碼(urldecode)json,即最終的json,里面的中文依舊是那個(gè)中文!
測(cè)試代碼如下:
復(fù)制代碼 代碼如下:

<?php
class myClass {
public $item1 = 1;
public $item2 = '中文';
function to_json() {
//url編碼,避免json_encode將中文轉(zhuǎn)為unicode
$this->item2 = urlencode($this->item2);
$str_json = json_encode($this);
//url解碼,轉(zhuǎn)完json后將各屬性返回,確保對(duì)象屬性不變
$this->item2 = urldecode($this->item2);
return urldecode($str_json);
}
}
$c = new myClass();
echo json_encode($c);
echo '<br/>';
echo $c->to_json();
echo '<br/>';
echo json_encode($c);
echo '<br/>';
echo json_encode('胥');
?>

程序輸出結(jié)果:
復(fù)制代碼 代碼如下:

{"item1":1,"item2":"\u4e2d\u6587"}
{"item1":1,"item2":"中文"}
{"item1":1,"item2":"\u4e2d\u6587"}
"\u80e5"

希望本文起到拋磚引玉的作用,收集大家更好的解決方法……!

相關(guān)文章

最新評(píng)論

涞水县| 广南县| 阿巴嘎旗| 凉城县| 普安县| 姜堰市| 麻江县| 隆化县| 吴堡县| 巨野县| 东方市| 菏泽市| 洛阳市| 蚌埠市| 陇川县| 淮滨县| 兴和县| 元朗区| 眉山市| 珲春市| 静安区| 浦北县| 乌海市| 自治县| 贵溪市| 谢通门县| 石狮市| 伊宁县| 淳安县| 文昌市| 乌兰浩特市| 伊宁县| 清水河县| 金门县| 龙州县| 宜兰县| 扬州市| 内乡县| 中方县| 定安县| 修文县|