Tomcat+Eclipse乱码问题解决方法

 
  • 概述

  乱码问题是大家在日常开发过程中经常会遇到的问题,由于各自环境的不同,解决起来也费时费力,本文主要介绍一般性乱码问题的解决方法与步骤,开发工具采用Eclipse+Tomcat,统一设置项目编码UTF-8为例,供大家参考。

  • 解决方法与步骤

  步骤一:首先,检查JSP页面声明的编码是否正确,正确示例(注意标红的地方):

<%@ 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 ,正确效果如下图:

  为了方便起见,可以对需要统一编码的文件格式进行编码关联设置,如下图:

  步骤三:在确认步骤二没有问题后,接下来就需要检查 Tomcat 的编码,需要把 Tomcat 的编码也设置为 UTF-8,找到 Tomcat 安装目录下的 conf 目录下的 server.xml 文件,如果没有修改过 Tomcat 的端口,则直接搜索8080 ,找到对应的 Connector 标签加上 URIEncoding 属性,值为 UTF-8。

    <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>

热门相关:倾心之恋:总裁的妻子   饥渴女大学生的秘密性爱   对我来说太年轻的岳母   今天也没变成玩偶呢   大妆