【发布时间】:2015-04-06 21:33:44
【问题描述】:
我正在使用OleDbConnection 和OleDbDataAdapter 将.DBF 读入DataSet,并且遇到了编码问题。
.DBF 文件应编码为 UTF-8。在 .DBF 中,我们使用特殊字符 (¬) 作为特定字段的分隔符。当我在该字段中阅读时,特殊字符作为另一个字符 (¼) 出现。
我的连接字符串是Provider=Microsoft.Jet.OLEDB.4.0;Data Source=PATH_TO_DIRECTORY;Extended Properties="dBASE IV;charset=65001"。根据我在 MSDN Code Page Identifier 页面和其他论坛帖子中找到的值,我尝试了一些不同的 charset 值,例如 utf8 和 20127 )。
我也尝试将 DataSet 的 Locale 设置为 System.Globalization.CultureInfo.GetCultureInfo("en-US")。
我无法将数据更改为另一种格式,因为 .DBF 是 shapefile 的一部分,我也希望不必执行查找/替换操作来修复字符串。我不能保留该值,因为它会弄乱针对同一个 .DBF 的查询。
我还不能更正这个问题,也无法在OleDB 编码问题上找到合适的论坛帖子。这看起来纯粹是OleDB 问题,因为其他驱动程序(更面向 GIS)可以很好地阅读此内容。我也不想更改驱动程序,因为程序的其余部分使用OleDB。
【问题讨论】:
标签: .net character-encoding oledb dbf