乱码问题出现的情况很多
1:由于页面之间的编码格式不一致,导致出现乱码
2:传递过程中编码和解码出现问题
解决情况如下
1:统一页面的编码格式,可以都为UTF-8
2:HTML之间的传递出现乱码可以如下,encoding(转码)和uncoding(解码),具体方法忘记了,自行查阅
3:转码:java.net.URLEncoder.encode("字符串","UTF-8");
解码:java.net.URLDecoder.decode("字符串","UTF-8");
4:过滤器
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;
public class EncodingFilter implements Filter {
private String encode;
public void destroy() {
}
public void doFilter(ServletRequest sreq, ServletResponse sres,
FilterChain chain) throws IOException, ServletException {
// 在此截获请求
sreq.setCharacterEncoding(encode);
sres.setContentType("text/html;charset="+encode);
chain.doFilter(sreq, sres);
// 截获响应
}
public void init(FilterConfig arg0) throws ServletException {
encode = arg0.getInitParameter("encode");
}
}
//web.xml
encoding
com.skywin.action.filter.EncodingFilter
encode
utf-8
encoding
/*
5:也可以在TOMCAT里面配置,JBOSS或weblogic也有相对应的配置,自己去看看吧
2009年1月07日 11:40