request , http头 ,server.xml 的URLCODEING 还有过滤器 都设置成UTF-8
POST提交数据一起正常GET就乱拉怎么办呀

解决方案 »

  1.   

    系统出错的概率很小的,你设置成GBK或者GB2312试试
      

  2.   

    使用get方法的时候,request数据是跟在url后面的,所以对中文就是乱码,
    你需要对request的数据在进行一次编码 requestData = new String(request.getBytes("iso-8859-1"), "gb2312") ;
      

  3.   

    在url后面传值的时候,要先对它进行编码,java.net.URLEncoder.encode(str,编码名称),在接收端,
    new String(request.getParamter("fieldname").getBytes("iso-8859-1"),编码名称);
    接收端的编码名称和发送时用的编码名称是一样的,getBytes时必须用iso-8859-1,因为浏览器是用这个编码的。不过你这个是表单的get,我觉得URLEncoder.encode应该放在过滤器里了。楼上的方法,不URLEncoder.encode,在windows上可以的,要换成linux,肯定有乱码,因为在windows可以自动对url里的参数编码,linux好像不行。