request.setCharacterEncoding("gb2312")
或者
request.setCharacterEncoding("UTF-8")
等根据你的页面编译类型来选择

解决方案 »

  1.   

    request默认是以iso-8859-1编码方式传递参数的。
      

  2.   

    request.setCharacterEncoding("gb2312")
    用过了,没有效果。
    在输出页面的时候也很正常。显示和语句都没有问题。
    把显示的语句复制粘贴到数据库直接执行也是正确的。
    但就是在Servlet里面查询或更新的时候不成功。
    我弄来弄去好多天了,没有解决。
    只是偶尔调来调去的也成功写进数据库几次,但稍一修改就失败了,再调回来也不能成功了。
    不知道为什么。
      

  3.   

    是不是sql语句中有特殊字符啊?比如说中文?
    如果用,用java.net.URLEncoder.encode() 对特殊字符转码 ,然后把sql拼起来
      

  4.   

    是有中文啊。
    但不过不转发request,即使是中文也没有问题。
    问题出现在把request作为参数传递后。
    这是什么原因呢?
      

  5.   

    在执行sql查询,更新的时候进行一下编码转换试试看
      

  6.   

    不行啊。
    是不是Tomcat的中文支持不好啊?