http://bbs.csdn.net/topics/390372335
看一下
专门整理的乱码贴,还不行追问下我的回帖。

解决方案 »

  1.   

    再看看 你的你的提交方式是get还是post
    如果post的话 你就看看你的request的编码方式是什么
    如果是get 你就要拿过来的内容在进行一次转码比如:new String(adminPassword.getBytes("iso-8859-1"),"utf-8");因为如果是post的话 是将参数作为request的一部分 所以他的编码和request有关
    如果是get的话,就会作为url的参数,传过来,使用iso-8859-1编码的,你要把这个参数重新编码
      

  2.   

    如果post请求 ,那就是要在接收参数前 request.setCharacterEncoding("UTF-8");,这个麻烦可以自定义一个过滤器过滤,或者用到struts的话 配置一个常量配置 统一解决。。
    如果get请求,建议统一设置tomcat配置,通用以后的所有get请求,,在conf/server.xml中的 找到你自己的Connector添加 URIEncoding="UTF-8"就可以了。。
      

  3.   

    给提交到后台的数据也转一次码request.setCharacterEncoding("UTF-8");,
      

  4.   

    get传参和浏览器的编码方式也有关系,至于解决的方法楼上说的都可以
      

  5.   

    你后台用servlet还是用的框架 
    1.如果是servlet 或JSP 就要
    接受和响应时进行编码
    request.setCharsetEncoding("UTF-8");
      

  6.   

    同意4楼的说法,前段时间我也尝试着在传送数据之前以及接收数据之前设置编码方式,但还是会出问题。最好使用过滤器将所有的页面的编码方式设置为utf-8,再设置tomcat下的config.xml(忘了是不是这个文件)中的URL编码方式为utf-8,这样无论使用post还是get方式提交数据都不会出现了乱码了