gpt4 book ai didi

java - 使用 Java 读取 Paradox 数据库时出现编码问题

转载 作者:行者123 更新时间:2023-12-01 05:35:45 25 4
gpt4 key购买 nike

我有 Java 应用程序(使用 JDK 1.7)正在读取 Paradox 文件 (*.db)。它适用于拉丁字符。我试图使这个应用程序正确显示西里尔字符,但不断得到不可编辑的结果。

连接数据库的原始代码:

Class.forName(DB_DRIVER);
String dbUrl = "jdbc:odbc:Driver={Microsoft Paradox Driver (*.db )};DBQ=" + workingDb + ";READONLY=true";
return DriverManager.getConnection(dbUrl);

我尝试在获取连接时传递其他属性:

java.util.Properties prop = new java.util.Properties();
prop.put("charSet", "windows-1251");
return DriverManager.getConnection(dbUrl, prop);

但是这并没有起到任何作用。我尝试将字符集指定为“UTF-8”,但这也不起作用。

读取 ResultSet 的原始代码如下所示:

String title = rs.getString(7)

但标题不可读。我还尝试使用 rs.getBytes() ,然后将结果传递给 new String 并在构造函数中指定编码,但这也不起作用。

有人知道缺少什么吗?

最佳答案

您没有说明您正在使用哪个版本的 Paradox 表。 Thru ver 4.5 paradox 是一个基于 dos 的程序。后来它成为 Windows 版的 Paradox。这些表格相似,但有一些增强。

但是,一直追溯到早期的 dos 版本,Paradox 支持西里尔字母和其他字符集,以及后来的更多字符集。这些是使用当时的技术“代码页”来解释的。它们仍然是 ascii 表——可能在 unicode 之前。以后就不知道了。

所以,我认为这个想法是实现 ascii 代码页。当然,这取决于数据最初是否是这样输入的。它们使用扩展的 ascii 字符,特别是 128-168 的“国际”字符。

关于java - 使用 Java 读取 Paradox 数据库时出现编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8236184/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com