我正在使用OleDbConnection
和OleDbDataAdapter
將.DBF讀入DataSet
,並且存在編碼問題。OLEDB .dbf編碼
.DBF文件應該編碼爲UTF-8。在.DBF中,我們使用特殊字符(¬)作爲特定字段的分隔符。當我在該領域閱讀時,特殊角色作爲另一個角色出現(¼)。
我的連接字符串是Provider=Microsoft.Jet.OLEDB.4.0;Data Source=PATH_TO_DIRECTORY;Extended Properties="dBASE IV;charset=65001"
。我嘗試了一些不同的charset
值,例如utf8
和20127
,基於我在MSDN Code Page Identifier頁面和其他論壇帖子(我看到某人將utf8
而不是數字)中找到的值。
我也嘗試將DataSet的Locale
設置爲System.Globalization.CultureInfo.GetCultureInfo("en-US")
。
我無法將數據更改爲另一種格式,因爲.DBF是shapefile的一部分,我寧願不必執行查找/替換操作來修復字符串。我不能保留原來的值,因爲它會混淆對同一個.DBF的查詢。
我還沒有能夠糾正這個問題,我也沒有找到合適的論壇帖子OleDB
編碼問題。這看起來純粹是OleDB
問題,因爲其他驅動程序(更多的GIS導向)可以正確讀取此問題。我寧願不更換驅動程序,因爲程序的其餘部分使用OleDB
。