sort = new String(sort.getBytes("ISO-8859-1"),"GB2312");
title= new String(title.getBytes("ISO-8859-1"),"GB2312");db.param[0]=sort;
db.param[1]=title;

解决方案 »

  1.   

    用的数据库是ACCESS。
    请问一下  skyyoung(路人甲) :
    你的这二句话:
    sort = new String(sort.getBytes("ISO-8859-1"),"GB2312");
    title= new String(title.getBytes("ISO-8859-1"),"GB2312");
    达到什么功能啊?能讲一下它的原理吗?
      

  2.   

    请问一下  skyyoung(路人甲) :
    加了二句出现如下提示:
    An error occured between lines: 5 and 51 in the jsp file: /test.jspGenerated servlet error:
    E:\Apache Tomcat 4.0\work\localhost\_\test$jsp.java:103: Invalid character in input.
                    ????????????????String title= new String(title.getBytes("ISO-8859-1"),"????");
                    ^
    An error occured between lines: 5 and 51 in the jsp file: /test.jspGenerated servlet error:
    E:\Apache Tomcat 4.0\work\localhost\_\test$jsp.java:103: Invalid character in input.
                    ????????????????String title= new String(title.getBytes("ISO-8859-1"),"????");
      

  3.   

    skyyoung(路人甲)使用的是转码,就是先把字符串按照ISO-8859-1的格式读取,然后再转换成gb3212(中文编码)的。你这里的gb2312怎么会是乱码呢?
      

  4.   

    String(sort.getBytes("ISO-8859-1"),"GB2312")
    拼一个8859编码的字符串,因为数据库默认为8859,如果中文不进行处理的化,是不能得到正确的查询结果的。
      

  5.   

    我感到有点儿不解,如果说是 select sort,title from bookshelf;
    那么
    String(sort.getBytes("ISO-8859-1"),"GB2312")
    用它来进行把sort字段转化成汉字,可是这里我的目的是要把外面的 sort变量与数据库里的字段sort进行比较,这里也要把sort变量转化成汉字吗?他本身不是汉字吗?
    不解?
      

  6.   

    对了,我这里的db,是调用javebean 的。
    <jsp:useBean id="db" scope="session" class="result_db.result_db" />
      

  7.   

    直接用中文,where 中文=''