我建议你能写一个转码的方法,我常用的是下面这个:
public static String changeGB(String sb) {
    if (null == sb) {
      return null;
    }
    try {
      return new String(sb.getBytes("ISO-8859-1"), "GB2312");
    }
    catch (UnsupportedEncodingException ex) {
      return null;
    }
  }

解决方案 »

  1.   

    http://www.csdn.net/develop/article/27/27140.shtm
      

  2.   

    严重同意pcmanlin(pcman) ( ) 的回复
      

  3.   

    只要你用到request.getParameter()而其中有中文,或是http://127.0.0.1:8080/index.jsp?name=名字,即问号传参中有中文的,我建议你采取楼上的办法,或是在网页的指令下写上
    <%request.setCharacterEncoding("gb2312");%>效果是一样的!
      

  4.   

    这是UNICODE码的问题,按楼上几位试试!!
      

  5.   

    感谢楼上几位的回复,但是你们的方法我都试过了,不是编码转换的问题。我的问题是数据库的问题,比如我的数据库中性别字段是char(2),性别的字段值是‘男‘和‘女‘,恰好占两个字节,我把字段长度改为3就没有任何问题。其他的字段也是这样,字段值不能和字段长度恰好相同!