数据传递-------ajaxJson------spring3mvc中使用ajax传json中文乱码解决
2017-05-27 14:03
671 查看
参考来源:http://blog.csdn.net/dangerous_fire/article/details/25904225
第一种解决方法,适用所有情况
因为在controller中返回json用了@ResponseBody,而spring源码中@ResponseBody 的实现类发现其默认的编码是 iso-8859-1,而项目用的编码为utf-8,所以传中文会出现乱码,解决办法是不用注解,直接用response,转换编码。
[java] view plain copy
@RequestMapping("/modifyconfiginput")
@ResponseBody
public String modifyinput( @RequestParam(value="id") String id,
@RequestParam(value="timestamp") String timestamp,
HttpServletResponse response ) throws Exception {
ImmediateConfig ic = this.immediatePictureService.findImmediateConfig(id);
String json = "["+"{name:'"+ic.getName()+"',classId:'"+ic.getProductClass().getClassId()+"',pyFile:'"+ic.getPyFile()+"'}]";
System.out.println("json:"+json);
//return json;
// 设置response的ContentType解决中文乱码
response.setContentType("text/html;charset=UTF-8");
response.getWriter().print(json);
return null;
}
第二种解决方法,可用于新版本的spring
[java] view plain copy
@RequestMapping(value="/ajaxCounterList", produces = "application/json; charset=utf-8")
注意:在IE浏览器中必须声明返回的类型,如下
@RequestMapping(value="/upload/upload",produces="text/html;charset=UTF-8")
或者用第一种方法,但也要声明为 text/html 类型,否则IE无法识别,会报错误
![](http://img.blog.csdn.net/20170310172843073)
[plain] view plain copy
Servlet.service() for servlet springMVC threw exception
java.lang.IllegalStateException: <span style="color:#FF0000;">Current request is not of type</span> [org.springframework.web.multipart.MultipartHttpServletRequest]: org.apache.catalina.connector.RequestFacade@58fbd53e
第一种解决方法,适用所有情况
因为在controller中返回json用了@ResponseBody,而spring源码中@ResponseBody 的实现类发现其默认的编码是 iso-8859-1,而项目用的编码为utf-8,所以传中文会出现乱码,解决办法是不用注解,直接用response,转换编码。
[java] view plain copy
@RequestMapping("/modifyconfiginput")
@ResponseBody
public String modifyinput( @RequestParam(value="id") String id,
@RequestParam(value="timestamp") String timestamp,
HttpServletResponse response ) throws Exception {
ImmediateConfig ic = this.immediatePictureService.findImmediateConfig(id);
String json = "["+"{name:'"+ic.getName()+"',classId:'"+ic.getProductClass().getClassId()+"',pyFile:'"+ic.getPyFile()+"'}]";
System.out.println("json:"+json);
//return json;
// 设置response的ContentType解决中文乱码
response.setContentType("text/html;charset=UTF-8");
response.getWriter().print(json);
return null;
}
第二种解决方法,可用于新版本的spring
[java] view plain copy
@RequestMapping(value="/ajaxCounterList", produces = "application/json; charset=utf-8")
注意:在IE浏览器中必须声明返回的类型,如下
@RequestMapping(value="/upload/upload",produces="text/html;charset=UTF-8")
或者用第一种方法,但也要声明为 text/html 类型,否则IE无法识别,会报错误
[plain] view plain copy
Servlet.service() for servlet springMVC threw exception
java.lang.IllegalStateException: <span style="color:#FF0000;">Current request is not of type</span> [org.springframework.web.multipart.MultipartHttpServletRequest]: org.apache.catalina.connector.RequestFacade@58fbd53e
相关文章推荐
- 解决Ajax 使用get传递中文数据 乱码
- spring3mvc中使用ajax传json中文乱码解决
- spring3mvc中使用ajax传json中文乱码解决
- jQuery UI Autocomplete 使用 ajax 方法传输Json数据出现乱码问题的解决
- Spring MVC使用fastjson数据传到前台中文乱码解决
- 解决Ajax加载JSon数据中文乱码问题
- 使用httpclient全书json数据并解决中文乱码问题
- 使用jquery的$.ajax向服务端传递中文,避免乱码的解决办法!
- dhl:ajax无法跨域改用getJSON(解决服务器返回json数据中文为乱码的问题$.ajaxSetup({ scriptCharset: "utf-8" , contentType: "application/json; chars)
- 用ajax传递json到前台中文出现问号乱码问题的解决办法
- ztree通过ajax加载json数据中文乱码的解决方法:springmvc配置
- SSM框架:解决后台传数据到前台中文乱码问题,使用@ResponseBody返回json 中文乱码
- PHP+AJAX传递数据方法一例。并带中文乱码解决方法
- 解决用ajax传递json到前台中文出现问号乱码
- spring boot新手教程之使用FastJson解析JSON数据以及解决返回中文乱码问题
- 关于客户端与服务器ajax使用json数据交互,出现中文乱码或因包含html标答而报错的问题(base64加密)
- java adf 使用ajax传递参数中有中文乱码问题(转)
- jQuery load方法及Ajax传递中文参数值乱码问题解决
- 解决服务器返回JSON数据中文乱码问题
- 页面编码为GBK时 jquery 提交ajax数据完美解决"中文乱码"方案