表单提交到ServletdoPost():resquest.sendCharacterCode("GBK");//拼写可能有误String Name = resquest.getParameter("Name");//Name是乱码

解决方案 »

  1.   

    将编码格式设置为UTF-8,与jsp页面编码格式需一致
      

  2.   

    我的jsp页面编码格式就是GBK
      

  3.   

    最大的可能是你的表单提交方式是不是没有改成post啊
    request.setCharacterEncoding只对post管用
      

  4.   

    出现乱码的原因在于:
       编码不一致 
       表单提交一般不会出现乱码的问题  
       你看一下你的工程编码和你的jsp页面的编码是否一致,不一致改过来就行了,就不会出现乱码了
      

  5.   

    首先保证JSP页面的编码和request设置的字符编码一致
      

  6.   

    你设置一下: response.setContentType("text/html;charset=gbk");
    如何还不行的话,就String name=new String(request.getParameter("Name").getBytes("ISO-8859-1"),"gbk");
      

  7.   

    首先保证JSP页面的编码和request编码都以样然后在用过滤器
      

  8.   


    赞同 。 !!!!!!!!!!
    如果表单的提交方式为get的话 
    tomcat根据默认的配置是按照Iso8859-1来读取的 。
    所以要进行如下操作。
    String  ISO_XXX = request.getParameter("XXX");String XXX = new String(ISO***.getBytes("ISO8859-1"),"GB2312");System.out.println(XXX);
    或者在tomcat的config目录下的server.xml进行配置。在如下标签中添加一个useBodyEncodingForURI="true"属性
    <Connector executor="tomcatThreadPool"
                   port="8080" protocol="HTTP/1.1" 
                   connectionTimeout="20000" 
                   redirectPort="8443" />
    即改为:
    <Connector executor="tomcatThreadPool"
                   port="8080" protocol="HTTP/1.1" 
                   connectionTimeout="20000" 
                   redirectPort="8443" 
                   useBodyEncodingForURI="true"  />因为:  request.setCharacterEncoding只能影响到对于put请求所传递过来参数的处理, 并不能影响到get方式传递数据的处理。加上上边的属性后,request.setCharacterEncoding 也能够影响到服务器对于get方式传递数据的处理