SpringMVC乱码问题解决

avatar 2019年10月29日18:42:45 6 2947 views
博主分享免费Java教学视频,B站账号:Java刘哥 ,长期提供技术问题解决、项目定制:本站商品点此
刚才帮一个朋友调试一个他们同事搭建的 SSM 项目,测试一个表单数据提交的时候出现中文乱码。

包括表单提交输入中文,后台接受的时候是乱码乱码;还有就是返回给前台字符串的时候中文乱码。解决这两种乱码需要两处配置

这是两种经典的乱码,这里记录一下,给需要的朋友

一、表单 POST 请求中文乱码


在 web.xml 里添加
  1. <!--post乱码过滤器-->
  2.     <!-- 配置springMVC编码过滤器 -->
  3.     <filter>
  4.         <filter-name>CharacterEncodingFilter</filter-name>
  5.         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  6.         <!-- 设置过滤器中的属性值 -->
  7.         <init-param>
  8.             <param-name>encoding</param-name>
  9.             <param-value>UTF-8</param-value>
  10.         </init-param>
  11.         <!-- 启动过滤器 -->
  12.         <init-param>
  13.             <param-name>forceEncoding</param-name>
  14.             <param-value>true</param-value>
  15.         </init-param>
  16.     </filter>
  17.     <!-- 过滤所有请求 -->
  18.     <filter-mapping>
  19.         <filter-name>CharacterEncodingFilter</filter-name>
  20.         <url-pattern>/*</url-pattern>
  21.     </filter-mapping>


二、返回字符串中文乱码


在 springmvc.xml 里添加
  1. <mvc:annotation-driven >
  2.     <!-- 消息转换器 -->
  3.         <mvc:message-converters register-defaults="true">
  4.           <bean class="org.springframework.http.converter.StringHttpMessageConverter">
  5.             <property name="supportedMediaTypes" value="text/html;charset=UTF-8"/>
  6.           </bean>
  7.         </mvc:message-converters>
  8.     </mvc:annotation-driven>





这里再补充一些其他中文乱码的解决方案
  1. Tomcat 设置 UTF8,修改 Tomcat 的 server.xml,在 <Connector> 标签里添加  URIEncoding="UTF-8"
  2. 数据库创建时选择编码设置为 utf8,排序方式 utf8-general-ci
  3. IDEA 设置里 Editor->File Encodings 里设置模块编码为 UTF-8,全局设置 UTF-8
  4. HTML或者 jsp/ftl 文件,head 里设置 <meta charset="UTF-8">

  • 微信
  • 交流学习,资料分享
  • weinxin
  • 个人淘宝
  • 店铺名:言曌博客咨询部

  • (部分商品未及时上架淘宝)
avatar

发表评论

avatar 登录者:匿名
匿名评论,评论回复后会有邮件通知

  

已通过评论:0   待审核评论数:0