一、开发工具中可以修改编码的地方:
1)Window --> Preferences --> General --> Content Types --> Text
选择要设置的文件,在Default encoding 中输入【GBK或者UTF-8】,点击后面的update
2)Window --> Preferences --> Workspace --> Text file encoding
在Other后面的选择框中输入【GBK或者UTF-8】,点击Applay和OK
3)右键点击项目、文件。选择Properties --> Text file encoding
同样在Other后面的选择框中输入【GBK或者UTF-8】,点击Applay和OK
二、文件中可以修改编码的地方:
仅限于jsp文件和html文件等声明部分有编码设置的文件,
1)<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
2)<meta http-equiv="Content-Type" content="text/html; charset=GBK" />
三、用过滤器实现编码过滤
1)过滤器处理类
创建一个实现了Filter接口的java类
package com.hchx.filter;
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;
/**
*
* @ClassName: CharacterFilter
* @Description: |-- 编码过滤器的实现类
* @author GNODIAD
* @date 2014-11-13 上午09:27:50
*/
public class CharacterFilter implements Filter{
// 声明代码处理参数
private String srcCharset;
private String targetCharset;
public void destroy() {
// TODO 待实现方法
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
System.out.println("开始进行编码过滤...");// 在控制台打印提示信息
request.setCharacterEncoding(srcCharset);// 设置请求编码
response.setCharacterEncoding(targetCharset);// 设置响应编码
chain.doFilter(request, response); // 向后传递
}
public void init(FilterConfig config) throws ServletException {
srcCharset = config.getInitParameter("srcCharSet");
targetCharset = config.getInitParameter("targetCharSet");
}
} 2)在web.xml中配置过滤器
<filter> <filter-name>charset</filter-name> <filter-class>com.hchx.filter.CharacterFilter</filter-class> <init-param> <param-name>srcCharSet</param-name> <param-value>GBK</param-value> </init-param> <init-param> <param-name>targetCharSet</param-name> <param-value>GBK</param-value> </init-param> </filter> <filter-mapping> <filter-name>charset</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
小结:解决编码问题,从这三个方面入手,具体操作因个人开发的项目而异。
本文出自 “GNODIAD” 博客,请务必保留此出处http://gnodiad.blog.51cto.com/9569162/1575961
原文地址:http://gnodiad.blog.51cto.com/9569162/1575961