[置顶] J2EE网页乱码GET和Post

一、post提交方式乱码   

     form表单中已post方式提交(tomcat服务器),需要做到编码统一,这里统一utf-8

        1、jsp页面设置编码格式

          <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

        2、设置servlet中的编码格式

             request.setCharacterEncoding("UTF-8");
             response.setCharacterEncoding("UTF-8");

           或者设置过滤器

  1.         public void doFilter(ServletRequest arg0, ServletResponse arg1,  
  2.         FilterChain arg2) throws IOException, ServletException {  
  3.     // TODO Auto-generated method stub  
  4.         arg1.setCharacterEncoding("UTF-8");  
  5.         arg0.setCharacterEncoding("UTF-8");  
  6.         arg2.doFilter(arg0, arg1);  
  7. }  


       3、统一tomcat服务器编码

             apache-tomcat-6.0.18——conf——server.xml

            中

            <Connector URIEncoding="utf-8" 
port="8080"   maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />

这三步基本上就解决post提交方式的乱码,通过request.getParameter获取汉字

 

二、get提交方式乱码

      将post的方法配置一遍再:

                    1、jsp页面中:encodeURI( 汉字),有的浏览器不加行,最好都加

                       如:location.href="<%=path%>/typeAction.do?method=selectpage&billconf1="+encodeURI( a.value);

                      2、在servlet或者action中

                     通过request.getParameter获取数据后,用iso-8859-1的编码将其转化成byte数组,在new一个String对象,参数1:byte数组,参数2:编码方式

                     String gd_name =  (String)request.getParameter("gd_name");
                     gd_name=new String(gd_name.getBytes("iso-8859-1"), "utf-8");

 

转自:http://blog.csdn.net/myfmyfmyfmyf/article/details/8118850

posted @ 2014-03-18 13:54  losesea  阅读(203)  评论(0)    收藏  举报