原因:
springmvc在处理请求时,默认采用的是 ISO-8859-1 编码格式,所以在处理一些json格式的时候,会出现中文乱码。
在网上找了很多解决方案,写什么转换类,在Spring中添加配置云云,但是结果还是乱码。感觉或许是版本的原因导致这些方法不起作用。
最终发现在RequestMapping中添加如下配置即可解决:
produces = {"application/json;","text/html;charset=utf-8"}
*注意:可能网上还有一种写法如下
produces = { "application/json;charset=UTF-8" }
我尝试这种方法会报406错误
网上有说是jar包不对,但他们用的是另一个jackson的jar包
经排查发现当我RequestMapping路径以.htm结尾时下面写法会报406错误,以.do和.action结尾时上面的写法是无法对其进行乱码转换的。