json乱码

SpringMVC3的ResponseBody返回字符串(JSON)乱码问题解决

霸气de小男生 提交于 2019-11-27 08:31:06
近日做一个小项目,用spring mvc 做到ajax请求获取jquery ztree 异步获取树返回json对象时出现了乱码,试了各种办法,查了各种资料,一开始以为是数据库的编码有问题,经测试没问题,又以为是jetty需要设置下响应头,正在查找时突然想到可能是mvc的responseBody的问题,网上一查,果然是,用了一个设置最简单的办法,解决了问题,特将文章转贴于此,与我一样遇到此问题的朋友们共享。 添加@RequestMapping注解,配置produces的值 @RequestMapping(value = "/add", produces = {"application/json;charset=UTF-8"}) (注:我就是用这种方法解决的,简单实用,呵呵 ) SpringMVC3的ResponseBody返回字符串乱码问题解决 SpringMVC的@ResponseBody注解可以将请求方法返回的对象直接转换成JSON对象,但是当返回值是String的时候,中文会乱码,原因是因为其中字符串转换和对象转换用的是两个转换器,而String的转换器中固定了转换编码为"ISO-8859-1",网上也很多种解决方法,有通过配置Bean编码的,也有自己重写转换器的,我这里多次尝试未果,只能自己解决。 有两种解决办法: 1.返回字符串时,将字符串结果转换 return new