刚才帮一个朋友调试一个他们同事搭建的 SSM 项目,测试一个表单数据提交的时候出现中文乱码。
包括表单提交输入中文,后台接受的时候是乱码乱码;还有就是返回给前台字符串的时候中文乱码。解决这两种乱码需要两处配置
这是两种经典的乱码,这里记录一下,给需要的朋友
在 web.xml 里添加
在 springmvc.xml 里添加
这里再补充一些其他中文乱码的解决方案
包括表单提交输入中文,后台接受的时候是乱码乱码;还有就是返回给前台字符串的时候中文乱码。解决这两种乱码需要两处配置
这是两种经典的乱码,这里记录一下,给需要的朋友
一、表单 POST 请求中文乱码
在 web.xml 里添加
- <!--post乱码过滤器-->
- <!-- 配置springMVC编码过滤器 -->
- <filter>
- <filter-name>CharacterEncodingFilter</filter-name>
- <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
- <!-- 设置过滤器中的属性值 -->
- <init-param>
- <param-name>encoding</param-name>
- <param-value>UTF-8</param-value>
- </init-param>
- <!-- 启动过滤器 -->
- <init-param>
- <param-name>forceEncoding</param-name>
- <param-value>true</param-value>
- </init-param>
- </filter>
- <!-- 过滤所有请求 -->
- <filter-mapping>
- <filter-name>CharacterEncodingFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
二、返回字符串中文乱码
在 springmvc.xml 里添加
- <mvc:annotation-driven >
- <!-- 消息转换器 -->
- <mvc:message-converters register-defaults="true">
- <bean class="org.springframework.http.converter.StringHttpMessageConverter">
- <property name="supportedMediaTypes" value="text/html;charset=UTF-8"/>
- </bean>
- </mvc:message-converters>
- </mvc:annotation-driven>
这里再补充一些其他中文乱码的解决方案
- Tomcat 设置 UTF8,修改 Tomcat 的 server.xml,在 <Connector> 标签里添加 URIEncoding="UTF-8"
- 数据库创建时选择编码设置为 utf8,排序方式 utf8-general-ci
- IDEA 设置里 Editor->File Encodings 里设置模块编码为 UTF-8,全局设置 UTF-8
- HTML或者 jsp/ftl 文件,head 里设置 <meta charset="UTF-8">
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏