欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > c/c++ >内容正文

c/c++

解决springmvc在单纯返回一个字符串对象时所出现的乱码情况(极速版)

发布时间:2025/3/15 c/c++ 44 豆豆
生活随笔 收集整理的这篇文章主要介绍了 解决springmvc在单纯返回一个字符串对象时所出现的乱码情况(极速版) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

使用springmvc框架开发了这么长时间,之前都是直接返回jsp页面,乱码情况都是通过配置和手动编解码来解决,但是今天突然返回一段单纯的字符串时,发现中文乱码情况解决不了了,下面就给各位分享一下如何解决返回字符串时出现的乱码情况(无需实验,直接使用即可)。

   

    之前我们都是通过在springmvc的核心配置文件中配置视图解析器来返回指定的页面,将数据通过Model对象渲染页面,最后响应给用户,但是这种方式我们是通过在web.xml文件中配置CharacterEncodingFilter就可以解决。

1 <!-- 解决post乱码 --> 2 <filter> 3 <filter-name>CharacterEncodingFilter</filter-name> 4 <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 5 <init-param> 6 <param-name>encoding</param-name> 7 <param-value>UTF-8</param-value> 8 </init-param> 9 </filter> 10 <filter-mapping> 11 <filter-name>CharacterEncodingFilter</filter-name> 12 <url-pattern>/*</url-pattern> 13 </filter-mapping>

 

    但是在某种情况下我们不需要对用户返回一个页面,而是单纯给调用接口服务的调用者返回一字符串,这时添加@ResponseBody注解这是必然的,但是你响应的数据中包含中文,则会出现乱码问题,即使你在web.xml文件中配置了解决post请求方式的乱码过滤器,也于事无补,这时就需要通过俩种方式来解决(当然本人只熟悉俩种,并且已经实践过了,好使)。

 

第一种:通过注解的属性解决。

    通过给@RequestMapping中添加produces="text/html;charset=UTF-8"。

第二种:通过在springmvc核心配置文件中配置处理器、映射器解决。

 

1 <!-- 2、处理器、映射器 --> 2 <mvc:annotation-driven> 3 <mvc:message-converters register-defaults="true"> 4 <bean class="org.springframework.http.converter.StringHttpMessageConverter"> 5 <constructor-arg value="UTF-8" /> 6 </bean> 7 </mvc:message-converters> 8 </mvc:annotation-driven>

 

 

 

       

转载于:https://www.cnblogs.com/1315925303zxz/p/6529138.html

总结

以上是生活随笔为你收集整理的解决springmvc在单纯返回一个字符串对象时所出现的乱码情况(极速版)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。