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

Posted 一生的力量

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用ajax请求SpringMVC返回Json出现乱码解决方法相关的知识,希望对你有一定的参考价值。

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));
    }

 

以上是关于使用ajax请求SpringMVC返回Json出现乱码解决方法的主要内容,如果未能解决你的问题,请参考以下文章

SSM框架整合时ajax请求返回406

SpringMVC ajax传值问题

springmvc的ajax

springmvc完成ajax功能以及返回字符串出现乱码的解决方法

SpringMVC—对Ajax的处理(含 JSON 类型)

SpringMVC中controller返回json数据的两种方法