例如:'胥'经过json_encode处理后变为'u80e5',最终的json中中文部分被替换为unicode编码。我们要解决的就是将对象转换为json并保证对象内部的中文在json中仍然是以正常的中文出现,现在看来只使用json_encode是不能达到目的的。
我的解决方法:先将类中的中文字段进行url编码(urlencode),然后再对对象进行json编码(jsonencode),最后url解码(urldecode)json,即最终的json,里面的中文依旧是那个中文!
测试代码如下:复制代码
第二电脑网从php 截取字符串一部分php中json_encode中文编码问题分析分析来看,对php 截取字符串一部分php中json_encode中文编码问题分析的结果。 代码如下:
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 '
';
echo $c->to_json();
echo '
';
echo json_encode($c);
echo '
';
echo json_encode('胥');
?>
程序输出结果:
复制代码 代码如下:
{"item1":1,"item2":"u4e2du6587"}
{"item1":1,"item2":"中文"}
{"item1":1,"item2":"u4e2du6587"}
"u80e5"
希望本文起到抛砖引玉的作用,收集大家更好的解决方法……!
更多:php 截取字符串一部分php中json_encode中文编码问题分析
https://www.002pc.comhttps://www.002pc.com/phpbiancheng/2798.html
你可能感兴趣的json,encode,php,编码,中文,分析
python 夹角余弦Python解析JSON详解
JSON 函数使用 JSON 函数需要导入 json 库:import json。
邮局选址问题 PYTHONpython json.dumps中文乱码问题解决
json.dumps(var,ensure_ascii=False)并不能解决中文乱码的问题json.dumps在不同版本的Python下会有不同的表现, 注意下面提到的中文乱码问题在Python3版本中不存在
qq统计jsajax处理php返回json数据的实例代码
test.html 第二电脑网对《ajax处理php返回json数据的实例代码》总结来说,为我们帝国cms仿站很实用。
python输出整理格式Python3内置模块之json编码解码方法讲解
简介JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它基于ECMAScript的一个子集。
python中的替换掉斜杠Python 字符编码转换秘诀
python 有str object 和 unicode object 两种字符串, 都可以存放字符的字节编码,但是他们是不同的type,这一点很重要,也是为什么会有encode 和decode。
asp.net 建立网站页面编码codepage=936和65001的区别
这个是表示网页所用编码的,比如简体中文 繁体中文 UTF
python访问网站返回python处理抓取中文编码和判断编码
在开发自用爬虫过程中,有的网页是utf-8,有的是gb2312,有的是gbk,如果不加处理,采集到的都是乱码,解决的方法是将html处理成统一的utf-8编码版本python2.7002pc.com对《
workerman异步mysql修改mysql字符集编码
mysql版本:5.0.27安装mysql时,由于失误导致mysql默认编码为latin1,这样导致中文支持不了,遂想修改mysql编码为utf8。
asp.net动态td属性值Cookie值中文乱码问题
cookie里面不能写中文,是由于cookie先天的编码方式造成的。所以需要有一种中间编码来过渡。 URLEncode是最好的选择。
0踩
赏
0 赞