有时候tomcat不按request所指定的编码进行编码,还是自作主张的采用默认编码方式iso-8859-1编码为什么会出现这样的问题呢?见过网上有通过过滤器解决这个问题的,有其他的方法么?

解决方案 »

  1.   

    不知道你是怎么指定request所使用的编码方式的,一般是使用request.setCharacterEncoding("GBK")指定编码,不过它只对POST方式有用,对于GET就得转换编码或者在server.xml中声明URIEncoding="GBK"。
    我的做法是在filter中request.setCharacterEncoding("GBK"),然后在server.xml中声明URIEncoding="GBK",这时就没有编码问题了,可以随便使用了。
      

  2.   

    为什么有些电脑上tomcat会按指定编码正常编码(不需要过滤器),有些电脑就不会,
    怎么会出现这样的问题?
      

  3.   

    proname = request.getParameter("proname");
    proname=new String(proname.getBytes("ISO-8859-1"),"GB2312");
    我就晓得这~~~
      

  4.   

    这个方式太繁琐了,有没有比较好的方法,让tomcat听话点?
      

  5.   

    这里涉及到好几个问题啊:
    你数据库的编码问题
    你页面默认编码问题
    你页面之间传值的类型转换问题具体跟tomcat本身没有多大关系的,它默认是用iso-8859-1设置编码类型的。
      

  6.   

    to  sheep219(sheep219) 
    ============================
    但同样的程序在我的电脑就可以运行,在别人的电脑就会中文乱码,需要加上过滤器才可以tomcat都是同一个安装程序