1. 每个JSP页面应该有如下的code
最好再加上
2. 用一个Filter来设置所有的request用UTF-8编码
3. 再web.xml中注册
4. 设置连接数据库的URL用UTF-8编码
5. 设置数据库的默认编码为UTF-8
6. 最后应该注意所有JSP和Java源文件的保存编码应为UTF-8
java 代码
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
最好再加上
java 代码
- "Content-Type" content="text/html; charset=UTF-8">
2. 用一个Filter来设置所有的request用UTF-8编码
java 代码
- package com.yaoyuan.common.web;
- import java.io.IOException;
- import javax.servlet.Filter;
- import javax.servlet.FilterChain;
- import javax.servlet.FilterConfig;
- import javax.servlet.ServletException;
- import javax.servlet.ServletRequest;
- import javax.servlet.ServletResponse;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- public class CharsetFilter implements Filter {
- public void destroy() {
- }
- public void doFilter(ServletRequest request, ServletResponse response,
- FilterChain chain) throws IOException, ServletException {
- ((HttpServletRequest)request).setCharacterEncoding("utf-8");
- ((HttpServletResponse)response).setCharacterEncoding("utf-8");
- chain.doFilter(request,response);
- }
- public void init(FilterConfig arg0) throws ServletException {
- }
- }
3. 再web.xml中注册
xml 代码
- <filter>
- <filter-name>CharsetFilterfilter-name>
- <filter-class>
- com.yaoyuan.common.web.CharsetFilter
- filter-class>
- filter>
- <filter-mapping>
- <filter-name>CharsetFilterfilter-name>
- <url-pattern>/*url-pattern>
- filter-mapping>
4. 设置连接数据库的URL用UTF-8编码
java 代码
- driver=com.mysql.jdbc.Driver
- url=jdbc:mysql://127.0.0.1/test?user=root&password=111111&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8
- username=root
- password=111111
5. 设置数据库的默认编码为UTF-8
6. 最后应该注意所有JSP和Java源文件的保存编码应为UTF-8