C# 在OleDB连接字符串中为DBF文件设置字符集1251
我正在尝试使用OleDB读取dbf文件。除了俄文字符集外,一切都很好。我正在尝试在连接字符串中设置编码。我的代码在下面C# 在OleDB连接字符串中为DBF文件设置字符集1251,c#,character-encoding,oledb,C#,Character Encoding,Oledb,我正在尝试使用OleDB读取dbf文件。除了俄文字符集外,一切都很好。我正在尝试在连接字符串中设置编码。我的代码在下面 var dir = "F:\\Programmers\\"; DataTable result = new DataTable(); var conStr = $"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={dir};Extended Properties=\"dBase III;Cha
var dir = "F:\\Programmers\\";
DataTable result = new DataTable();
var conStr = $"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={dir};Extended Properties=\"dBase III;Character set=1251;\"";
using (OleDbConnection conn = new OleDbConnection(conStr))
{
conn.Open();
OleDbCommand com = new OleDbCommand("SELECT * FROM 200901", conn);
OleDbDataReader reader = com.ExecuteReader();
result.Load(reader);
}
但什么都不管用!如何正确指定字符集?尝试使用
CharacterSet=1251你好,我试过设置“字符集”、“字符集”、“代码页”。没有帮助…也许,你需要使用866而不是1251?我确定文件编码是1251。已使用DotNetDbf库(编码1251)正确读取该文件。我试图找到用于在连接字符串中指定编码的文档的链接,但没有找到任何内容:(这真的很奇怪。我使用您的代码从KLADR base中读取数据。即使未指定CharacterSet
,也能正确读取数据。