php中json_encode中文编码问题分析


Posted in PHP onSeptember 13, 2011

例如:'胥'经过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"

希望本文起到抛砖引玉的作用,收集大家更好的解决方法……!
PHP 相关文章推荐
php&amp;java(三)
Oct 09 PHP
PHP 和 XML: 使用expat函数(二)
Oct 09 PHP
不要轻信 PHP_SELF的安全问题
Sep 05 PHP
无法载入 mcrypt 扩展,请检查 PHP 配置终极解决方案
Jul 18 PHP
destoon文章模块调用企业会员资料的方法
Aug 22 PHP
PHP 验证登陆类分享
Mar 13 PHP
PHP实现大数(浮点数)取余的方法
Feb 18 PHP
YII2框架中excel表格导出的方法详解
Jul 21 PHP
启用OPCache提高PHP程序性能的方法
Mar 21 PHP
PHP使用OB缓存实现静态化功能示例
Mar 23 PHP
PHP之认识(二)关于Traits的用法详解
Apr 11 PHP
php数组遍历类与用法示例
May 24 PHP
PHP pathinfo()获得文件的路径、名称等信息说明
Sep 13 #PHP
PHP获取MAC地址的函数代码
Sep 11 #PHP
PHP内核介绍及扩展开发指南―基础知识
Sep 11 #PHP
PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍
Sep 11 #PHP
20个PHP常用类库小结
Sep 11 #PHP
php各种编码集详解和以及在什么情况下进行使用
Sep 11 #PHP
php正则表达式(regar expression)
Sep 10 #PHP
You might like
php格式化日期和时间格式化示例分享
2014/02/24 PHP
PHP截取指定图片大小的方法
2014/12/10 PHP
19个Android常用工具类汇总
2014/12/30 PHP
PHP中SERIALIZE和JSON的序列化与反序列化操作区别分析
2016/10/11 PHP
laravel项目利用twemproxy部署redis集群的完整步骤
2018/05/11 PHP
Laravel 读取 config 下的数据方法
2019/10/13 PHP
jquery 学习之一 对象访问
2010/11/23 Javascript
jquery入门—选择器实现隔行变色实例代码
2013/01/04 Javascript
JS判断当前页面是否在微信浏览器打开的方法
2015/12/08 Javascript
本地Bootstrap文件字体图标引入却无法显示问题的解决方法
2020/04/18 Javascript
VUE element-ui 写个复用Table组件的示例代码
2017/11/18 Javascript
浅谈es6 javascript的map数据结构
2017/12/14 Javascript
Node.js应用设置安全的沙箱环境
2018/04/23 Javascript
使用koa-log4管理nodeJs日志笔记的使用方法
2018/11/30 NodeJs
JavaScript indexOf()原理及使用方法详解
2020/07/09 Javascript
使用Python的Flask框架来搭建第一个Web应用程序
2016/06/04 Python
Python正则表达式如何进行字符串替换实例
2016/12/28 Python
Python中函数及默认参数的定义与调用操作实例分析
2017/07/25 Python
基于Python和Scikit-Learn的机器学习探索
2017/10/16 Python
Python qqbot 实现qq机器人的示例代码
2019/07/11 Python
Python3 Click模块的使用方法详解
2020/02/12 Python
Python中猜拳游戏与猜筛子游戏的实现方法
2020/09/04 Python
HTML5中的Article和Section元素认识及使用
2013/03/22 HTML / CSS
PHP开发工程师面试问题集锦
2012/11/01 面试题
护理专业应届毕业生推荐信
2013/11/15 职场文书
财经学院自荐信范文
2014/02/02 职场文书
电大毕业自我鉴定
2014/02/03 职场文书
岗位职责怎么写
2014/03/14 职场文书
大学生社会实践方案
2014/05/11 职场文书
2014领导班子四风问题查摆思想汇报
2014/09/13 职场文书
毕业实习指导教师评语
2014/12/31 职场文书
起诉书范文
2015/05/20 职场文书
运动会观后感
2015/06/09 职场文书
贫困证明怎么写
2015/06/16 职场文书
《葡萄沟》教学反思
2016/02/23 职场文书
OpenCV-Python模板匹配人眼的实例
2021/06/08 Python