简述
更详细内容可参考《链接》
普通java项目(非SpringBoot,maven等)在使用SpringMVC时使用@ResponseBody注解产生的字符串输出到前段出现中文乱码。
解决方案
一:Spring配置文件中配置
<!-- 开启注解,并解决@request -->
<mvc:annotation-driven>
<mvc:message-converters>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
</list>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
备注:网上提供的方法比较多,但试过后都无功而返,只有这个成功解决。不过不能否认其他方法的可行性,很有可能时场景不同导致。
补充:通过上述配置解决了中文乱码问题,但是在项目调试过程中发现,用工具调试中文显示正常,用页面时又出现了乱码,修改配置如下:
<!-- 开启注解,并解决@request -->
<mvc:annotation-driven>
<mvc:message-converters>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
<value>text/html;charset=UTF-8</value>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>