springmvc使用@responsebody返回字符串乱码问题
SpringMVC的@ResponseBody注解可以将请求方法返回的对象直接转换成JSON对象,但是当返回值是String的时候,中文会乱码。
原因是因为其中字符串转换和对象转换用的是两个转换器,而String的转换器中固定了转换编码为"ISO-8859-1"。
解决:
方法1.加上这个@RequestMapping(value="/login.action",method=RequestMethod.POST,produces={"application/json;charset=utf-8"})
方法2.return new String(str.getBytes(), "ISO-8859-1");