多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > 解決php中對象使用json_encode轉換后中文被編碼為unicode

解決php中對象使用json_encode轉換后中文被編碼為unicode

來源:程序員人生   發布時間:2014-05-01 07:09:16 閱讀次數:3661次
現象:眾所周知使用json_encode可以方便快捷地將對象進行json編碼,但是如果對象的屬性中存在著中文,問題也就隨之而來了。json_encode會將中文轉換為unicode編碼,例如:'胥'經過json_encode處理后變為'u80e5',最終的json中中文部分被替換為unicode編碼。我們要解決的就是將對象轉換為json并保證對象內部的中文在json中仍然是以正常的中文出現,現在看來只使用json_encode是不能達到目的的。

我的解決方法:先將類中的中文字段進行url編碼(urlencode),然后再對對象進行json編碼(jsonencode),最后url解碼(urldecode)json,即最終的json,里面的中文依舊是那個中文!

測試代碼如下:

 1 <?php
2 class myClass {
3 public $item1 = 1;
4 public $item2 = '中文';
5
6 function to_json() {
7 //url編碼,避免json_encode將中文轉為unicode
8 $this->item2 = urlencode($this->item2);
9 $str_json = json_encode($this);
10 //url解碼,轉完json后將各屬性返回,確保對象屬性不變
11 $this->item2 = urldecode($this->item2);
12 return urldecode($str_json);
13 }
14 }
15
16 $c = new myClass();
17 echo json_encode($c);
18 echo '<br/>';
19 echo $c->to_json();
20 echo '<br/>';
21 echo json_encode($c);
22 echo '<br/>';
23 echo json_encode('胥');
24 ?>

程序輸出結果:

{"item1":1,"item2":"u4e2du6587"}
{"item1":1,"item2":"中文"}
{"item1":1,"item2":"u4e2du6587"}
"u80e5"

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

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产欧美日韩高清专区手机版 | 欧美1区二区三区公司 | 亚洲精品片 | 成人在线亚洲 | 中文字幕视频一区二区 | xxx性欧美人 | 午夜视频免费在线 | 欧美视频xxxx| 日本免费中文字幕 | 国产成人久视频免费 | 欧美在线精品永久免费播放 | 一二三四在线观看免费中文在线观看 | 一本大道香蕉大无线视频 | 日韩欧美视频一区二区在线观看 | 性freexxxxhd欧美在线 | 亚洲国产精品久久综合 | 宇都宫紫苑在线播放 | 亚洲天堂影院在线观看 | 精品国产成人a在线观看 | 欧美大片一区二区 | 国内国内在线精品视频 | 久久免费视频观看 | 久久精品九九亚洲精品天堂 | 五月天免费在线视频 | 国产成人久久精品 | 欧美交| 国产番号 | 亚洲片在线观看 | 热热色网站 | 国产婷婷高清在线观看免费 | 玖玖精品在线观看 | 亚洲国产精品成人综合久久久 | 伊人久久五月天综合网 | 最近中文字幕高清免费大全8 | 欧美18毛片 | 欧美videofree高清杂交 | 国产第一页福利 | seba51久久精品 | 亚洲福利视频一区二区三区 | 国内自拍在线视频高清 | 欧美操片在线观看 |