java access 中文乱码_Java JDBC-ODBC 连接 Access 数据库 中文乱码解决

本文介绍了在PowerBuilder9中使用MySQL数据库时遇到的中文乱码问题及其解决方法。由于Java的String使用Unicode编码,而Access使用GBK编码,导致乱码。通过将字符串转码为GBK再进行数据库操作,可以避免乱码。具体做法包括使用`updateBytes`方法更新数据库和通过`String`构造函数读取数据时进行编码转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[tag:powerbuilder odbc mysql 中文乱码作者:benjaminz(zeng78@gmail.com) 时间:2008-11-14 由于一个项目中要使用mysql作为数据库,前端的开发工具定为powerbuilder9,安

由于Java的String类型使用的是unicode编码,而微软的Access数据库使用的是gbk编码。使用String类型的变量存储Access中的文本字段中文会发生乱码现象。[java 文件编码是UTF-8。所以我们需要转码。prop.put(charSet, gb2312);public static Connection getConnction() { Connection dbConnection = null; try {

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

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

使用ResultSet的updateBytes方法

public void updateBytes(StringcolumnName,

byte[] x)

throwsSQLException

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,StringcharsetName)

throwsUnsupportedEncodingException

str=new String(rs.getBytes("columnName"),"gbk");

这样读取到String中的中文字符便正常了。

上面就是解决Access数据文本字段和String类型间乱码问题的方法。

本质上说,就是编码类型不匹配。需要根据情况进行编码类型转换。

这是要有效的利用字节数据类型的方法,来达到目的,使用合适的API方法。[1.引言 Java与数据库的连接对于一些中大型的主流数据库而言,一般数据库厂商都提供了专门的JDBC驱动.但对于部分小型数据库而言经常没有专门的JDBC数据库连接驱动程序.但我

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值