首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OLEDB .dbf编码

OLEDB .dbf编码
EN

Stack Overflow用户
提问于 2015-04-04 03:13:28
回答 1查看 1.5K关注 0票数 2

我正在使用OleDbConnectionOleDbDataAdapter将.DBF读取到DataSet中,并且遇到了编码问题。

.DBFfile应该编码为UTF-8。在.DBF中,我们使用特殊字符(?)作为特定字段的分隔符。当我在该字段中读取时,特殊字符显示为另一个字符(1/4)。

我的连接字符串是Provider=Microsoft.Jet.OLEDB.4.0;Data Source=PATH_TO_DIRECTORY;Extended Properties="dBASE IV;charset=65001"。我尝试了一些不同的charset值,比如基于我在MSDN Code Page Identifier页面上找到的值的utf820127,以及其他论坛帖子(我在论坛上看到有人用utf8代替数字)。

我还尝试将DataSet的Locale设置为System.Globalization.CultureInfo.GetCultureInfo("en-US")

我不能将数据转换为另一种格式,因为.DBF是shapefile的一部分,而且我也不希望必须执行查找/替换操作来修复字符串。我不能保持该值不变,因为它会使对同一.DBF的查询变得混乱。

我还没能纠正这个问题,也没能找到关于OleDB编码问题的合适的论坛帖子。这看起来是一个纯粹的OleDB问题,因为其他驱动程序(更多面向地理信息系统)可以很好地阅读这篇文章。我也不喜欢更改驱动程序,因为程序的其余部分都使用OleDB

EN

回答 1

Stack Overflow用户

发布于 2015-04-06 21:33:45

您不能在连接字符串中使用UTF-8编码-它只是不受支持。为了能够将UTF-8写入DBF,您应该将源ANSI文本转换为UTF-8字符串,然后将其写入。反之亦然。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29438283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档