将DBF文件编码到852代码页中并不起作用

时间:2016-04-22 09:23:53

标签: c# encoding character-encoding dbf codepages

我在从437更改DBF文件的代码页时遇到问题 到852。

我检查了编码数据表的代码,它似乎在内部 Visual Studio它正确编码为852但在移动编码文件后 它取而代之的是原来的,就好像编码没有发生一样? 所以我认为编码的代码工作正常,但是其他东西正在将文件更改回437代码页!请帮忙......

示例代码:

DbfRecord orec = new DbfRecord(odbf.Header);
orec.AllowDecimalTruncate = true;
orec.AllowIntegerTruncate = true;

foreach (DataRow DR in EndodedDataTable.Rows)
{
    for (int i = 0; i < EndodedDataTable.Columns.Count; i++)
    {
        orec[i] = DR[i].ToString();
    }
    odbf.Write(orec, true);
}

odbf.Close();

File.Delete(OriginalFileName);
File.Move(TempFileName, OriginalFileName);

执行编码的方法:

http://pastebin.com/jPqJMxen

1 个答案:

答案 0 :(得分:-1)

事实证明我的编码方法从437到852工作正常,但是创建临时文件并将其移动到原始文件的附加代码在代码中引起了很多混乱,因此无法正常工作... < / p>

我最终直接使用编码的数据表将其写入访问文件,因为这是我的初衷

使用codepage 852编码返回数据表的方法:

http://pastebin.com/jPqJMxen

~ChenChi