str = new String(str.getBytes("ISO-8859-1"), "GBK");
去掉试试,我从来就没有用过这个东西,也从来都没有出过问题!

解决方案 »

  1.   

    str = new String(str.getBytes("GBK"), "ISO-8859-1");
    换一下试试!
      

  2.   

    试了一下,至少在在application中将中文添加到access是没有问题的。
      

  3.   

    为什么要转码????????????????
    引用
    ===============
    str = new String(str.getBytes("ISO-8859-1"), "GBK");
    =================不用转的伙计,不该转的你转了反而搞地乱码。
      

  4.   

    to all:
    我就是不加那个转码也不行
    str = new String(str.getBytes("ISO-8859-1"), "GBK");
    一开始不用后来不行
    才加上的,现在是用不用都不行!!!
      

  5.   

    to hj12(12):
    问题解决了,当把str = new String(str.getBytes("GBK"), "ISO-8859-1");这样写时就可以了,存入数据库的就是中文。我是这样认为的preparedstatement对sql进行预编译,如果对中文不进行处理转换成iso-8859-1,与编译是就会出错,可能数据库不认识预编译后的中文,所以会出错。好像数据库的默认编码就是is0-8859-1,所以要先把中文转化成iso在进行编译处理存入数据库就可以了!!
    如果是statement不用转换直接就可以,但是preparestatement就不行!还是与数据库有关呢??思索中。