乱码:tMsg":"?????????
查阅各个资料得知SpringMVC的@ResponseBody注解可以将请求方法返回的对象直接转换成JSON对象,但是当返回值是String的时候,中文会乱码,原因是因为其中字符串转换和对象转换用的是两个转换器,而String的转换器中固定了转换编码为"ISO-8859-1";
第一种方案封装一个返回的Dto当需要放回字符串时要把你的string放入到封装好的Dto中返回
第二种方案就是在@RequestMapping中加上produces属性例如
@RequestMapping(value="/test",produces="text/html;charset=UTF-8")
第三种:在MVC 配置中加入,spring版本必需为3.1或以上版本才可以下配置
<mvc:annotation-driven>
<mvc:message-converters register-defaults="true">
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<constructor-arg value="UTF-8" />
</bean>
</mvc:message-converters>
</mvc:annotation-driven>