json编码中文如何会乱码
程序员文章站
2022-06-03 14:28:14
...
json编码中文怎么会乱码
以下代码编码后怎么是\u的乱码,之前用JAVA编码JSON后都是正常的中文呀,请问这是怎么回事,该怎么解决。
以上代码编码结果为:
{"a":"\u4e2d\u6587\u540d\u79f0","b":"\u6d4b\u8bd5\u7a0b\u5e8f\u3002"}
------解决方案--------------------
echo urldecode ( json_encode($test, JSON_FORCE_OBJECT) );
添加urldecode 就ok了
------解决方案--------------------
那不是乱码,中文字符json_encode 之后是那样的。
------解决方案--------------------
\u 可不是乱码,人家是为了防止乱码转了unicode码而已
------解决方案--------------------
那个不是乱码,是union码。
如果要正常显示中文,可以参考:http://blog.csdn.net/fdipzone/article/details/28766357
------解决方案--------------------
json_encode 是编码函数,产生的自然是编码后结果
其中出现一些你不能识别的成分,不也是很正常的吗?
既然你能接受这些编码的结果,那又为何不能接受
echo json_encode($s); //"\u4e2d\u6587\u540d\u79f0"
这样的结果呢?
至于为什么要用 unicode 十六进制内码 表示,个人认为是 php 的败笔
1、由于要取得 unicode 内码,所以就有传入数据的字符集识别问题。正因为他不能识别字符集,所以 json 函数只适用于 utf-8
2、传递到浏览器的任何字符集的文字,都会被浏览器统一转换为 unicode 编码,所以 json_encode 所做的编码转换是没有意义的。浏览器依然要有将十六进制串转换成 unicode 内码的动作
以下代码编码后怎么是\u的乱码,之前用JAVA编码JSON后都是正常的中文呀,请问这是怎么回事,该怎么解决。
$test = new stdClass();
$test->a = ("中文名称");
$test->b = ("测试程序。");
echo json_encode($test, JSON_FORCE_OBJECT);
以上代码编码结果为:
{"a":"\u4e2d\u6587\u540d\u79f0","b":"\u6d4b\u8bd5\u7a0b\u5e8f\u3002"}
------解决方案--------------------
echo urldecode ( json_encode($test, JSON_FORCE_OBJECT) );
添加urldecode 就ok了
------解决方案--------------------
那不是乱码,中文字符json_encode 之后是那样的。
------解决方案--------------------
\u 可不是乱码,人家是为了防止乱码转了unicode码而已
------解决方案--------------------
那个不是乱码,是union码。
如果要正常显示中文,可以参考:http://blog.csdn.net/fdipzone/article/details/28766357
------解决方案--------------------
json_encode 是编码函数,产生的自然是编码后结果
其中出现一些你不能识别的成分,不也是很正常的吗?
$s = "中文名称";
echo urlencode($s); //%E4%B8%AD%E6%96%87%E5%90%8D%E7%A7%B0
echo base64_encode($s); //5Lit5paH5ZCN56ew
既然你能接受这些编码的结果,那又为何不能接受
echo json_encode($s); //"\u4e2d\u6587\u540d\u79f0"
这样的结果呢?
至于为什么要用 unicode 十六进制内码 表示,个人认为是 php 的败笔
1、由于要取得 unicode 内码,所以就有传入数据的字符集识别问题。正因为他不能识别字符集,所以 json 函数只适用于 utf-8
2、传递到浏览器的任何字符集的文字,都会被浏览器统一转换为 unicode 编码,所以 json_encode 所做的编码转换是没有意义的。浏览器依然要有将十六进制串转换成 unicode 内码的动作
相关文章
相关视频
上一篇: 6步解决php utf-8_PHP
下一篇: Python有哪些高大上的项目?
推荐阅读
-
PHP学习散记_编码(json_encode 中文不显示)
-
Three.js使用THREE.TextGeometry创建三维文本中文乱码的问题如何解决?
-
php+AJAX传送中文会导致乱码的问题的解决方法
-
android读写中文如何避免乱码详解
-
php和mysql中uft-8中文编码乱码的几种解决办法
-
Asp.net core中由于页面编码导致的中文乱码
-
解决HttpPost+json请求---服务器中文乱码及其他问题
-
解决Pandas to_json()中文乱码,转化为json数组的问题
-
探讨PHP JSON中文乱码的解决方法详解
-
php查询到的数据乱码和转json时中文变成了Unicode的编码怎么解决?