Spring MVC @ResponseBody返回中文字符串乱码问题

朋友做小项目练手的时候遇到的,着实让他郁闷够呛..这个问题的确很恶心..

项目中引用的json包,直接用@ResponseBody注解返回json字符串..有关这个的乱码问题网上很多,各种花样各种转码器方法,但是试了一遍基本都无效,很多已经过时了..这里说一下spring引的是3.2.8的jar包.这个也没什么好分析的,基本就是在尝试各种解决方案的有效性..最终有2种有效在spring3.0以上版本下..

@RequestMapping(value="/test", produces = "application/json; charset=utf-8")
 public String test() 
 {
     ......
 }

这种方法很麻烦但是的确在spring3.0以上的版本中依然有效果.

还有一种很诡异:

@RequestMapping(value="/test")
 public String test() 
 {
     ......
 }

此种情况下也是无乱码的..

至于网上那些各种转码器的方法,可以试一下,至少我在朋友的小项目中试了一遍是无效的..

这里不得不说一个很坑的情况,如果你用的google浏览器(某些版本),记得一定要清理缓存,否则也会乱码,不排除是版本bug,当时忘了清理缓存试一下了,直接当bug了,但后来发现清理google浏览器缓存能解决部分莫名的乱码问题..所以这里建议遇到乱码的问题不妨多试验几个浏览器..我朋友就是被google浏览器给坑了..因为无论是否乱码他的google浏览器都是乱码..

原文地址:https://www.cnblogs.com/chyu/p/4882793.html