MyEclipse开发的Web项目编码问题解决

一、开发工具中可以修改编码的地方:

    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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。