如何在 Visual Basic 6 中解码字符串
Posted
技术标签:
【中文标题】如何在 Visual Basic 6 中解码字符串【英文标题】:How to decode a string in Visual Basic 6 【发布时间】:2016-02-11 23:11:27 【问题描述】:我正在尝试在我的Visual Basic 6
中读取 .DB (Paradox 5) 文件。
除了编码/字符集,一切都很好。它显示为 Iieiei 75a
而不是西里尔字符串。
这是我的 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 上也一切正常。
我通过 regedit 设置了以下设置,但没有帮助:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Xbase]
"DataCodePage"="ANSI"
"BDE"=dword:00000002
我也试过用CharToOem
/Oem2Char
Win API函数,没用。
有什么想法吗?
【问题讨论】:
当您告诉它使用ANSI
时,它可能使用当前会话的代码页?也许插入您的数据编码的确切代码页以使其普遍工作?
【参考方案1】:
好的,我已经通过更改以下注册表值解决了这个问题:
[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"
上次设置已解决问题。
【讨论】:
以上是关于如何在 Visual Basic 6 中解码字符串的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Visual Basic 6 中对齐 RichEdit 粘贴对象位置?
如何在 Visual Basic 6.0 中创建带有文本框的数组
如何在Visual Basic 6.0中使用主键在一个表中使用外键获取记录
如何在 Visual Basic 6 ListView 上进行多列排序?
如何在此 Access-SQL server-Visual Basic 6 (ADO) 表单中不包含重复元素(主详细信息)