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!~