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

求一个中文乱码的过滤器
求一个万能的中文乱码过滤器,用于java web工程。
要求能适用于web请求,安卓请求和IOS请求。最好所有的编码转换都在服务端进行,客户端不关心乱码的问题。
java?web 编码 安卓 ios 乱码

------解决方案--------------------
直接修改tomcat的配置好了,如下:
文件:tomcat根目录\apache-tomcat-6.0.29\conf\server.xml

<Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443"  URIEncoding="UTF-8"/>

------解决方案--------------------
还是统一编码比较好,
像这种‘%E7%BC%96%E7%A0%81’
utf-8下为‘编码’
gbk 下为‘缂栫爜’哪个对
------解决方案--------------------
没有万能的,有的话大家早就用了。 

结贴散分吧~~
------解决方案--------------------
import java.io.IOException;
import java.io.UnsupportedEncodingException;

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.HttpServletRequestWrapper;

public class EncodingFilter implements Filter {

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOExceptionServletException {
HttpServletRequest req = (HttpServletRequest) request;
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
MyRequest myRequest = new MyRequest(req);
chain.doFilter(myRequest, response);

}

public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub

}

public void destroy() {