I'm trying to read data from a legacy system using pentaho di with your driver.
I came across an issue where the join of two tables resulted in no rows via your driver though it worked fine with JDBC through ODBC.
I was able to track down the issue to this simple case:
* 2 tables: tab866 (lang.id 65h in the header, same as cp866), tab1251 (lang.id C9h in the header, same as cp1251)
* connect to jdbc:dbf:///C:/test
* select col1, col2, expect, (col1+col2) x from table1251;
showed expected == x (normal russian characters in all columns)
* select col1, col2, expect, (col1+col2) x from table866;
showed some garbage in the concatenated "x" column
in the end,
select d.COL1, w.col1 x from table866 d join table1251 w on d.col1 + d.col2 = w.expect
returns only 2 rows out of 3.
if I connect to jdbc:dbf:///C:/test?charSet=cp866 then select col1, col2, expect, (col1+col2) x from table866; gives normal results, but select col1, col2, expect, (col1+col2) x from table1251; starts giving garbage instead of all russian letters (only digits and latin pass).
what can I try to solve this?
Please send us two test dbf sample.
Please download the latest package which supports different charset in dbf tables.