簡體   English   中英

使用Java讀取Paradox數據庫時出現編碼問題

[英]Encoding issue while reading Paradox database using Java

我有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(),然后將結果傳遞給新的String並在承包商中指定編碼,但是效果也不好。

是否有人對缺少的東西有任何想法。

您沒有說要使用哪個版本的Paradox表。 通過版本4.5悖論是基於dos的程序。 后來它成為Windows的悖論。 這些表是相似的,但是有所增強。

但是,自從回到早期的dos版本以來,Paradox就支持西里爾字母和其他字符集,以及以后的版本。 這些使用當時的技術“代碼頁”進行解釋。 它們仍然是ascii表-可能在unicode之前。 我不確定以后。

因此,我認為該想法是實現ASCII代碼頁。 當然,這取決於最初輸入數據的方式。 這些使用擴展的ascii字符,尤其是“國際”字符使用128-168。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM