我得到了一個直接使用dBase III數據庫的會計軟件。我還用Delphi XE2編寫了一個使用這些數據庫的自制軟件。 Delphi使用Sybase Advantage服務器V11與數據庫進行通信。如果我在賬戶軟件中寫入「é」,當我用Advantage服務器讀取它時,我讀了一個「,」。在ADS中找不到正確的代碼頁與dbase III進行通信
該帳戶軟件公司似乎認爲它是用IBM codepage 850編寫的,但如果我在Advantage服務器中使用ICLAND850,則不起作用。
在ADS中嘗試了許多不同的代碼頁後,我似乎無法找到合適的代碼頁。
我更改了優勢服務器中的代碼頁,但我是否必須在其他地方更改它?
有沒有一種方法或軟件來檢測DBF中的字符集?
感謝您的答案。現在,當我嘗試Query.Fields(1).asbyte,我得到(0,0,0,0,0,0,0,0,0),但如果我做Query.Fields(1).asString我得到'C......')。任何想法? – Carl
@Carl你說得對,'AsBytes'不適合這個,我只是自己試了一下。您可以隨時用十六進制編輯器打開.dbf文件,這樣就可以確切知道char的存儲方式。 –
也許這個問題也可以幫助:http://stackoverflow.com/questions/6756124/detect-the-encoding-from-a-dbf –