日期:2014-05-18  浏览次数:20641 次

elipse中的乱码问题?
在eclipse中编写jsp页面时,eclipse好象以UTF-8的编码来保存jsp页面,当出现乱码时,在下用下面这段代码就能解决:
temp=str.getBytes("ISO8859-1");
str=new String(temp,"UTF-8");
可是在下不知道为何是这样,把上面的UTF-8改为GB2312出现的也是乱码,为什么?在下实在不知!
望指点!!!

------解决方案--------------------
eclipse默认设置的对应JSP的编码是ISO8859-1,只要你在jsp头那里设置好<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>就可以解决问题。

如果你装了lomboz系列插件的话,window - Preferences - Web and XML - JSP Files 里可以设置新建jsp时的默认编码格式
myeclipse应该也有,我这里机器上没有装,不知道那个选择项,你可以自己去找找

------解决方案--------------------
写个筛选器:
public class PageEncodingFilter implements Filter {

private FilterConfig filterconfig ; 

private String encode ;

public void destroy() {
filterconfig = null;
encode = null;
}

public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
HttpServletRequest reuqest = (HttpServletRequest)arg0;
reuqest.setCharacterEncoding(encode);
arg2.doFilter(arg0, arg1);
}

public void init(FilterConfig arg0) throws ServletException {
if(arg0 != null){
this.filterconfig = arg0;
}
this.encode = filterconfig.getInitParameter("encode");
}

}
web.xml
再一配就ok