php json中文乱码的解决办法:首先将类中的中文字段进行url编码;然后再将对象进行json编码;最后进行url解码即可解决乱码问题。

PHP中json中文乱码问题解决

问题:

众所周知使用json_encode可以方便快捷地将对象进行json编码,但是如果对象的属性中存在着中文,问题也就随之而来了。

json_encode会将中文转换为unicode编码,例如:'我'经过json_encode处理后变为'\\u6211',最终的json中中文部分被替换为unicode编码。我们要解决的就是将对象转换为json并保证对象内部的中文在json中仍然是以正常的中文出现,现在看来只使用json_encode是不能达到目的的。

解决方法:先将类中的中文字段进行url编码(urlencode),然后再对对象进行json编码(jsonencode),最后url解码(urldecode)json,即最终的json,里面的中文依旧是那个中文,完成我们想要的效果

//1.将数组、对象转为json格式(数组、对象都不包含中午)

$arr=array('a'=>'a','b'=>'b'); //string '{"a":"a","b":"b"}' (length=17)

var_dump(json_encode($arr));

class Person{

private $money=0;

public $name=null;

protected $lover=null;

public function __construct($name,$money,$lover){

$this->name=$name;

$this->money=$money;

$this->lover=$lover;

}

public function getName(){

return $this->name;

}

protected function getLover(){

return $this->love;

}

private function getMoney(){

$this->money;

}

}

$zhangsan=new Person('zhagnsan','9999999','beautiful grils');

//只会将类中public属性转为json格式

var_dump(json_encode($zhangsan)); //string '{"name":"zhangsan"}' (length=19)

//对于数组或是对象包含中文,json_encode会将中文转换为unicode编码,

//解决方法:先将类或是数组中的中文字段进行url编码(urlencode),然后再对对象或是数组进行json编码(jsonencode),最后url解码(urldecode)json,即最终的json

$arr=array('ename'=>'dqs','cname'=>'你猜啊');

var_dump(json_encode($arr)); //中文,出现乱码,string '{"ename":"dqs","cname":"\\u4f60\\u731c\\u554a"}' (length=44)

$arr['cname']=urlencode($arr['cname']);

$arr_json=urldecode(json_encode($arr));

var_dump($arr_json); //string '{"ename":"dqs","cname":"你猜啊"}' (length=35)

//3.补充知识,查看字符编码方式以及转码

$name="dsq,你好啊";

//iconv_get_encoding()获取当前页面的编码信息

var_dump(mb_detect_encoding($name)); //UTF-8

$name=iconv("UTF-8","GB2312//IGNORE",$name);

var_dump(mb_detect_encoding($name)); //UTF-8

//思考,为什么将utf-8编码转为gb2312后还是utf-8呢?

查看字符串编码mb_detect_encoding

//echo mb_detect_encoding($arr['cname']);

//$newData=iconv("GB2312","UTF-8//IGNORE",$data);

php 对象json中文乱码,解决php json中文乱码问题相关推荐

  1. php在传json中文乱码,解决php json中文乱码问题

    解决php json中文乱码问题 php json中文乱码的解决办法:首先将类中的中文字段进行url编码:然后再将对象进行json编码:最后进行url解码即可解决乱码问题. 推荐:<PHP视频教 ...

  2. linux+wine乱码,Ubuntu下Wine乱码解决方法与中文支持

    由于这段时间安装了Ubuntu 9.04 x64的系统,也碰到了很多问题,收集起来以便方便使用 安装 wine ubuntu 官方自带了 wine , 但是推荐用 winehq 官方提供的最新版本 w ...

  3. 【数据库】MySQL乱码解决(存入数据乱码和查询输出乱码)

    一般在安装和设置MySQL的时候会选择将其编码格式设置为UTF8,以保证数据库在不用语言环境下的适应性.但是一般在Win下使用的时候,本机编码集却是GBK或者GB2312.这样在Win下的GBK编码输 ...

  4. mysql中文乱码解决_java+mysql中文乱码问题

    乱码问题原因有多种,其中有一种是由于MySQL默认使用 ISO-8859-1 ( 即Latin1 ) 字符集,而JAVA内部使用Unicode编码,因此在JAVA中向MYSQL数据库插入数据时,或者读 ...

  5. android短信发送乱码,解决CEMAPI发送中文短信时会乱码

    作者:陈缘 联系:luandao2000@gmail.com 博客:http://blog.csdn.net/luandao2000 主页:http://www.spbase.com 这个问题 所有用 ...

  6. dw写出来的php乱码,解决DW中的乱码问题

    Dreamweaver出现乱码,大致为两种情况: 一是没有标明主页制作所用的文字,这种情况下很简单就可以解决,在区加上即可. 二是你新加装了字体,诸如文鼎酷字体之类.这样的话,你每次新建一张网页,都要 ...

  7. linux日文乱码,解决日文压缩文件乱码问题的方法——深圳培训linux

    这篇文章, 有关日文压缩文件乱码的问题,自己用的是日文的linux系统,昨天从同事那儿收了个压缩文件,结果解压之后文件名都乱吗了(内容正常显示).网上 google了以下发现是因为windows下默认 ...

  8. android 串口乱码,解决串口接收数据乱码的问题

    如标题所示,各种仪器仪表进行串口通讯,都可能遇到运行后发现串口数据出错,接收到的都是乱码,不知道是哪个环节出了问题,怎么办? 乱码的原因通常有两个: 1.波特率 数据位 校验位 不匹配,即我们的网络转 ...

  9. windows tomcat无乱码 linux下乱码,解决linux服务器tomcat乱码问题

    1 保证linux服务器使用的是utf-8 local -a查看支持的字体 vi/etc/sysconfig/i18n 修改为zh_CN.UTF-8 2.客户端软件Xshell.putty.SSH S ...

最新文章

  1. 一篇文看懂Hadoop
  2. python零基础入门大数据_【资源分享】零基础入门大数据(数据分析)经验分享...
  3. vasp安装包_【问题集锦】VASPamp;MedeA 第十一期
  4. android 制作的精美闹钟
  5. termcap-1.3.1的configure.in文件逐行分析
  6. dockerhub 拉取地址_使用docker,进行dockerhub仓库上传镜像,拉取镜像。
  7. 影像测量仪使用的注意点
  8. 金九银十北漂记第3篇:再见,中国航信!
  9. Windows打开dcm文件、dcm文件批量转其它图片文件格式
  10. 工作拾忆 一年C++经验小记
  11. 自动尺寸标注 html,PxCook - 高效易用的自动标注工具,生成前端代码,设计研发协作利器...
  12. 如何通过 User-Agent 识别百度蜘蛛
  13. Java实现合成图片
  14. echart地图隐藏南海诸岛
  15. 基于gmssl SM2 签名验签测试程序
  16. CTF-Crypto必备自动解密神器-Ciphey
  17. 无代码BPM平台的使用和推荐
  18. android银行卡绑定,华为huawei pay怎么绑定银行卡 绑卡方法教程
  19. 计算机体系结构——动态流水线动态调度详解
  20. String类型转换成LocalDate 和 LocalDateTime

热门文章

  1. 深度分析Java的枚举类型——枚举的线程安全性及序列化问题
  2. Palo Alto 防火墙升级 Software
  3. 如何让phpmyadmin输入密码再进入
  4. 广船国际股份有限公司OA项目
  5. 在SQL Server 2008中配置文件流(FILESTREAM)
  6. Oracle Exadata 简介
  7. iOS 应用发布到AppStore流程
  8. PDF文字怎么编辑,PDF文档编辑方法
  9. 让世界零距离 小鱼易连的大梦想
  10. ListView和数据适配器SimpleAdapter例子