在myeclipse中建了一个java工程,使用的字符集编码为UTF-8。。
使用JDBC-odbc方法读取mdb(access)数据库信息。。
在resultSet结果集中,读到的中文是乱码。在myeclipse中运行,将中文打印出来是乱码,而且写入本地文件也是乱码。。如果选择Myeclipse的的 run configurations 指定Console Encoding 为GBK 不进能正常的打印中文,而且能正常的保存到本地文件中
求助啊。想转成UTF-8...
这个转码 不应该这么难吧

解决方案 »

  1.   

    new String(str.getBytes("iso8859-1"),"UTF-8")
    编下码
      

  2.   

    如果你的Java跟DB字符集无法保持一致,基本上只能用老一套:new String(str.getBytes("GBK"),"UTF-8");不知道你的Access编码是啥,要换着编码试试看。
      

  3.   

    new String(str.getBytes("GBK"),"UTF-8"); 
    这个换的我吐血 都不行。。
    GBK GB2312 啥都用过了 。都不行 !!!
      

  4.   

    还有一招:  new String(resultSet.getBytes(n), "GBK");
      

  5.   

    另外还有:
    Properties prop = new Properties();  
    prop.put("charSet", "GBK");
    prop.put("user", "user");
    prop.put("password", "yourpassword");
    Connection cn = DriverManager.getConnection(url,Properties);
      

  6.   


    这招对,如果N不是文本的字段,如ID字段是数字的好像不行至于
    Properties prop = new Properties();   
    prop.put("charSet", "GBK");
    prop.put("user", "user");
    prop.put("password", "yourpassword");
    Connection cn = DriverManager.getConnection(url,Properties);这个是设置它的字符集吗?这个没用过
    ldh911 能给我讲讲吗?
      

  7.   

    prop.put("charSet", "GBK");这个是告诉JDBC,目标数据库的字符集是GBK,请帮忙自动转换下。但需要JDBC驱动支持该参数才行。
      

  8.   


    那不是 JDBC-ODBC 连接的方式不可用了呢!!
      

  9.   

    access目前也没有免费的jdbc可用
    有个国人开发的,不过那个是收费授权
    目前来说,只有用odbc连接,然后取二进制自己转的本办法
      

  10.   


    mdb 数据库中可以使用 java.util.Properties 这个类来设置其字符集。。