使用@ResponseBody的中文乱码问题

来源:互联网 发布:0.32双丝并绕数据 编辑:程序博客网 时间:2024/05/18 02:51

在为一个大作业搭建后台的时候,发现调用接口返回的数据中文乱码,中文都显示?????,在网上找了很多解决方法,有使用

RequestMapping(value = "testPersonalValidtor.do",produces = "application/json;charset=utf-8")


方法的,但我觉得每个方法都要加这个声明太麻烦,想在配置文件修改编码格式,一劳永逸。

试过了网上很多方法,发现没找到可用的,不过综合了几篇,竟然让我成功了!现在让我分享一下代码吧


首先在springMVC-servlet.xml文件里增加

<mvc:annotation-driven>       <mvc:message-converters>           <bean class="org.springframework.http.converter.StringHttpMessageConverter">               <constructor-arg value="#{T(java.nio.charset.Charset).forName('UTF-8')}"/>               <property name="supportedMediaTypes">                   <list>                       <value>text/plain;charset=UTF-8</value>                       <value>text/html;charset=UTF-8</value>                       <value>applicaiton/javascript;charset=UTF-8</value>                   </list>               </property>               <property name="writeAcceptCharset"><value>false</value></property>           </bean>           <bean               class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">               <property name="supportedMediaTypes">                   <list>                       <value>application/json; charset=UTF-8</value>                       <value>application/x-www-form-urlencoded; charset=UTF-8</value>                   </list>               </property>           </bean>       </mvc:message-converters>   </mvc:annotation-driven>

有篇博文说要放在
<context:component-scan base-package="com.beiyi.controller"></context:component-scan>

的前面,我直接用了。

同时记得在文件前加

xmlns:mvc="http://www.springframework.org/schema/mvc"
,在 xsi:schemaLocation=""里加

http://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsd

然后在Maven依赖中加入Jackjson的依赖

<dependency><groupId>org.codehaus.jackson</groupId><artifactId>jackson-mapper-asl</artifactId><version>1.9.13</version></dependency><dependency><groupId>org.codehaus.jackson</groupId><artifactId>jackson-core-asl</artifactId><version>1.9.13</version></dependency>

然后使用一下Maven的update project,最好再clean一下项,然后就成功了。

展示一下前后对比的图吧



希望能帮助到大家~


参考博客:

https://yq.aliyun.com/articles/70081

https://yq.aliyun.com/articles/83808?spm=5176.100239.blogcont70081.22.ddoq5w

原创粉丝点击