如何使用utf-8编码解决乱码问题

手册/FAQ (599) 2016-04-15 14:32:27

解决乱码问题最好全程使用 utf-8 编码,具体需要设置的点包括:

1、页面内容使用 utf-8 格式保存,在页面中加入 <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> 和 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

2、服务器端的 server.xml 中设定 useBodyEncodingForURI = true,位置如下:

 

  • <Connector port="8080" protocol="HTTP/1.1"  
  •                connectionTimeout="20000"  
  •                redirectPort="8443" useBodyEncodingForURI="true"/>  

 

3、使用过滤器,过滤器设定编码为 utf-8
对此Spring已经提供了现成的过滤器可供配置,具体做法是在web.xml中加入如下片断:

 

  • <filter>  
  •     <filter-name>encodingFilter</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>encodingFilter</filter-name>  
  •     <url-pattern>/*</url-pattern>  
  • </filter-mapping>  
THE END