ITKeyword,专注技术干货聚合推荐

注册 | 登录

Java JDBC-ODBC 连接 Access 数据库 中文乱码解决

iamoyjj 分享于

2020腾讯云双十一活动,全年最低!!!(领取3500元代金券),
地址https://cloud.tencent.com/act/cps/redirect?redirect=1073

【阿里云】双十一活动,全年抄底价,限时3天!(老用户也有),
入口地址https://www.aliyun.com/1111/home

推荐:[转]Java JDBC-ODBC 连接 Access 数据库 中文乱码解决

http://blog.csdn.net/iamoyjj/article/details/5805327 由于Java的String类型使用的是unicode编码,而微软的Access数据库使用的是gbk编码。使用String类型的变

由于Java的String类型使用的是unicode编码,而微软的Access数据库使用的是gbk编码。使用String类型的变量存储Access中的文本字段中文会发生乱码现象。

推荐:Java连接Access数据库(JDBC)

因项目需求,需要Access数据库,现将测试通过代码记录下来,以便日后使用 public static void ConnectAccessFile() throws Exception {                   //载入驱

使用byte[]类型可以解决这一问题。

 

1.更新到数据库的文本字段

使用ResultSet的updateBytes方法

public void updateBytes(String columnName,
                        byte[] x)
                 throws SQLException
String str="要写入数据库的中文";//utf-8

使用String的getBytes方法

public byte[] getBytes(String charsetName)
                throws UnsupportedEncodingException
转换编码格式为gbk
rs.updateBytes("columnName",str.getBytes("gbk"));
rs.updateRow();
这样写入Access数据库的中文字符便正常了;

2.从数据库字段读取文本

使用String类的构造函数

public String(byte[] bytes,
              String charsetName)
       throws UnsupportedEncodingException
str=new String(rs.getBytes("columnName"),"gbk");
这样读取到String中的中文字符便正常了。
上面就是解决Access数据文本字段和String类型间乱码问题的方法。
本质上说,就是编码类型不匹配。需要根据情况进行编码类型转换。
这是要有效的利用字节数据类型的方法,来达到目的,使用合适的API方法。

推荐:Access java jdbc连接 insert插入的数据 中文乱码解决方案!!!

java 文件编码是UTF-8。   所以我们需要转码。   prop.put("charSet", "gb2312");         public static Connection getConnction() { Connection dbConnection

由于Java的String类型使用的是unicode编码,而微软的Access数据库使用的是gbk编码。使用String类型的变量存储Access中的文本字段中文会发生乱码现象。 使用byte[]类型可以解决这一问题。   1.更

相关阅读排行


相关内容推荐

最新文章

×

×

请激活账号

为了能正常使用评论、编辑功能及以后陆续为用户提供的其他产品,请激活账号。

您的注册邮箱: 修改

重新发送激活邮件 进入我的邮箱

如果您没有收到激活邮件,请注意检查垃圾箱。