使用ajax请求SpringMVC返回Json出现乱码解决方法

时间:2021-01-29 16:23:33

1:在使用ajax请求后台访问数据的数据,后台返回的数据是乱码,带??问号的乱码,之前还一直没有遇到过,在这里记录整理一下,贴出解决代码! 
(1):前台使用ajax ,已经设定返回的结果为json格式!ajax代码不贴出来了! 
(2):后台代码

@RequestMapping(value = { "/hello/{uuid}" }, method = RequestMethod.GET /*,produces = "text/html;charset=UTF-8"*/)
@ResponseBody
public String hello(@PathVariable("uuid") String uuid) {
String result = ""; //do something
//使用Json返回json格式数据 return JSON.toJSONString(result);;
}

在没有加produces = “text/html;charset=UTF-8” 之前,返回的结果一直是乱码,很奇怪,项目中web.xml也设置了编码格式utf-8 ,没有找到最终的原因,不过找到了这种解决方法!

2:如果上面的方法还是不能解决的话就用下面的方法:

@ResponseBody
public void hello(@PathVariable("uuid") String uuid,HttpServletResponse response) {
String result = ""; //do something
//使用Json返回json格式数据
JSONObject josn = new JSONObject();
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
response.getWriter().print(JSON.toJSON(result));
}