乱码问题是你们在平常开发过程当中常常会遇到的问题,因为各自环境的不一样,解决起来也费时费力,本文主要介绍通常性乱码问题的解决方法与步骤,开发工具采用Eclipse+Tomcat,统一设置项目编码UTF-8为例,供你们参考。html
步骤一:首先,检查JSP页面声明的编码是否正确,正确示例(注意标红的地方):java
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> </body> </html>
步骤二:在确认步骤一没有问题后,接下来检查项目属性编码、 JSP 页面属性的编码和 Java 文件的属性编码,项目属性编码和文件属性编码也须要统一设置为 UTF-8 ,正确效果以下图:web
为了方便起见,能够对须要统一编码的文件格式进行编码关联设置,以下图:spring
步骤三:在确认步骤二没有问题后,接下来就须要检查 Tomcat 的编码,须要把 Tomcat 的编码也设置为 UTF-8,找到 Tomcat 安装目录下的 conf 目录下的 server.xml 文件,若是没有修改过 Tomcat 的端口,则直接搜索8080 ,找到对应的 Connector 标签加上 URIEncoding 属性,值为 UTF-8。app
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
使用 Eclipse 作为开发工具,还需修改 Eclipse 中项目对应的 Tomcat 的配置文件,方法同上。工具
至此,经常使用的解决项目中文乱码的“三码合一”的配置方法都已经配置好了,为了完全的解决乱码问题,咱们还能够经过在 web.xml 中配置 Spring 的编码过滤器来处理乱码问题。开发工具
<!-- 编码过滤器 --> <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> </filter> <filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>