一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - php中json_encode中文編碼問題分析

php中json_encode中文編碼問題分析

2019-12-12 14:33PHP教程網 PHP教程

眾所周知使用json_encode可以方便快捷地將對象進行json編碼,但是如果對象的屬性中存在著中文,問題也就隨之而來了。json_encode會將中文轉換為unicode編碼

例如:'胥'經過json_encode處理后變為'\u80e5',最終的json中中文部分被替換為unicode編碼。我們要解決的就是將對象轉換為json并保證對象內部的中文在json中仍然是以正常的中文出現,現在看來只使用json_encode是不能達到目的的。 
  我的解決方法:先將類中的中文字段進行url編碼(urlencode),然后再對對象進行json編碼(jsonencode),最后url解碼(urldecode)json,即最終的json,里面的中文依舊是那個中文! 
測試代碼如下: 

復制代碼代碼如下:


<?php 
class myClass { 
public $item1 = 1; 
public $item2 = '中文'; 
function to_json() { 
//url編碼,避免json_encode將中文轉為unicode 
$this->item2 = urlencode($this->item2); 
$str_json = json_encode($this); 
//url解碼,轉完json后將各屬性返回,確保對象屬性不變 
$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('胥'); 
?> 


程序輸出結果: 

復制代碼代碼如下:


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


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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美日韩国产精品自在自线 | 日韩欧美国产一区二区三区 | 99精品热线在线观看免费视频 | 性姿势女人嗷嗷叫图片 | 村妇超级乱淫伦小说全集 | 国产自在线观看 | 国产视频久久久久 | 天天做天天爱天天爽综合网 | 双性总裁(h)| 四虎永久 | 催眠白丝舞蹈老师小说 | 免费在线视频网站 | 色琪琪原网站亚洲香蕉 | 亚洲精品国产一区二区三区在 | 视频在线播放 | 97视频久久久| 叉逼视频 | 17岁俄罗斯csgo| 日韩成a人片在线观看日本 日韩不卡一区二区 | 无限时间看片在线观看 | 午夜影院免费观看视频 | 亚洲精品成人A8198A片漫画 | 欧美精品1区 | 日本高清全集免费观看 | 69罗莉视频在线观看 | 国产 日韩欧美 | 亚洲色图丝袜 | 91热国内精品永久免费观看 | 人人人人人看碰人人免费 | 九九热视频 这里有精品 | 大象传媒免费网址 | 黄 色 大 片 网站 | 91制片厂制作传媒免费版樱花 | 国产在线精品99一卡2卡 | ady@ady9.映画网| 国产精品日本一区二区三区在线看 | 免费的网址 | 4hc44四虎永久地址链接 | 我与么公激情性完整视频 | 青青青手机在线观看 | 黄瓜视频导航 |