当前位置:首页>开发>正文

json字符串中文乱码怎么解决 如何解决JSON返回的中文乱码

2023-04-18 13:19:21 互联网 未知 开发

 json字符串中文乱码怎么解决 如何解决JSON返回的中文乱码

json字符串中文乱码怎么解决

解决方法:
1、把所有的中文转为UTF-8编码(本身是utf8的话无须转)
$data="JSON中文"
$newData=iconv("GB2312","UTF-8//IGNORE",$data)
2、把中文的urlencode一下
$testJSON=array(name=>中文字符串,value=>test)
//echo json_encode($testJSON)
foreach ( $testJSON as $key => $value ) {
$testJSON[$key] = urlencode ( $value )
}
3、然后json_encode之后再urldecode一下转回来
$test_json_str = json_encode ($testJSON )
echo urldecode ($test_json_str)
查看输出结果为:
{“name”:”中文字符串”,”value”:”test”}

这样可以很好的解决中文JSON乱码问题。

如何解决JSON返回的中文乱码

返回乱码和JSON没关系,这个还是得统一编码(字符集),您得看对方是什么编码,您的自己转换一下即可。如果是Unicode那么用下面的工具即可转换过来,您自己代码需要实现,具体怎么实现,再百度有Demo。

http://www.sojson.com/yasuo.html

jquery解析servlet jsonarray中文乱码问题

方法①:去掉contentType:"application/jsoncharset=utf-8",
方法②:
返回值前加上response.setContentType("text/htmlcharset=UTF-8")

方法③:
jquery-ajax设置
contenttype :"application/x-www-form-urlencodedcharset=utf-8",

servlet中需要转2次码,页面才能正常接收
String name = "测试编码"
name =java.net.urldecoder.decode(java.net.urldecoder.decode(name, "utf-8"), "utf-8")

PS:如还有问题可百度Hi我!good luck!~

最新文章