2016-02-11 77 views
1

我正在尝试读取我的Visual Basic 6中的.DB(Paradox 5)文件。 除编码/字符集外,一切正常。它显示为Iieiei 75a而不是西里尔字符串。如何解码Visual Basic 6中的字符串

这是我的ODBC连接字符串:

Driver={Microsoft Paradox Driver (*.db)};DriverID=538;Fil=Paradox 4.X;DataCodePage=ANSI;BDE=2;CollatingSequence=ASCII;AutoTranslate=No;DBQ=C:\Database;DefaultDir=C:\Database

请注意像Borland Database Desktop该软件显示该字符串没有任何问题。另外一台PC也一切正常。

我通过注册表编辑器设置如下设置,通过它并不能帮助:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Xbase] 
"DataCodePage"="ANSI" 
"BDE"=dword:00000002 

我还试图用CharToOem/Oem2Char赢API函数,它并不能帮助。

任何想法?

+0

当您告诉它使用ANSI时,它可能使用当前会话的代码页?也许插入你的数据编码的确切代码页,使其普遍工作? – Bob77

回答

0

好吧,我已经通过更改以下注册表键值解决了这个:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Xbase] 
"DataCodePage"="ANSI" 
"BDE"=dword:00000002 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage] 
"1252"="1251.nls" 

最后设置已经解决了这个问题。