我得到了一个直接使用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 –