[英]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.