我想自动检测DBF的编码,但DBF文件的结构不包含DBF文件头中的任何信息。我曾经使用过DBF Viewer,它会打开一个正确的编码信息。所以我不确定他们是如何实现的。
我研究了DBF文件的结构,并且有一个语言驱动程序ID,但我们没有ID to table的表,任何人都有线索?
答案 0 :(得分:1)
我做了很多研究,在Esri的官方网站上发现了这篇文章: http://webhelp.esri.com/arcpad/8.0/referenceguide/index.htm#locales/task_code.htm
将语言ID转换为代码页真的很有帮助;我这个问题是固定的。希望它能帮助别人。
答案 1 :(得分:1)
我发现此网站的标题结构细分为get codepage信息。
因此,结合其他答案可能会帮助您更好地解决问题。我所拥有的链接并未列出所有代码页,但确实为您提供了从.DBF检测的位置和值
此外,Visual Foxpro也有一些函数可以获取和转换,但我还没有通过可以与C#一起使用的最新Visual Foxpro OleDB Provider明确尝试。
功能
CPDBF() CPCURRENT() CPCONVERT()
您可以查看Visual Foxpro的在线帮助以获取有关这些功能的更多详细信息。您可能必须使用VFP的EXECSCRIPT()调用通过Execute Scalar调用来执行C#..类似
String MultipleCmds = "ExecScript( '[use SomeTable] + chr(13)+chr(10) + [return CPCURRENT()]' ) ";
然后从你的连接中,执行上面命令的标量。