Servlet中的doGet和doPost方法中都是:
request.setCharacterEncoding("GBK");
response.setContentType("text/html;charset=GBK");
在用Get方式提交时中文正常,但改用Post方式提交就是乱码。
提交时中文都用GB2312编过码了。不知道哪里错了,求好人心一救!
弄了一天了。55555~~~~~

解决方案 »

  1.   

    你doGet和doPost的实现不一样吗?一样的话doPost直接调用doGet就可以了。
    要不可以多贴点代码看看
      

  2.   

    request.setCharacterEncoding("GB2312");把这个改一下
    试试
      

  3.   

    doGet和doPost的实现是一样的,调用时中文这样:
      System.Web.HttpUtility.UrlEncode(SMS, System.Text.Encoding.Default)
    编过码。我用get提交和Post提交的代码要贴出来给你看看吗?是在VB.NET中调用的
      

  4.   

    浏览器设置总是以utf8发送的,dopost接收数据不需要转换
      

  5.   

    servlet在web.xml里面也可以配置编码的
      

  6.   

    http://blog.webcl.net.cn/liqian/000271.html
    这个对你有帮助
      

  7.   

    统一编码,容器,数据库,jsp
      

  8.   

    这样的问题在csdn就有N多人问过了,你自己去搜一下就OK了。
      

  9.   

    加上一个中文处理的方法:    public String toCodeString(String str)
        {
                String string=str;
                try
                   {
                      byte[] bytes=string.getBytes("gb2312");
                      string=new String("ISO-8859-1",bytes);
                   }catch(Exception e)
                    {
                       System.err.println(e.getMessage());
                    }
                return string;
        }你试一下,看行不行..