将 DBF 文件编码为 852 代码页不起作用

Encoding DBF file into 852 codepage doesn't work

我在从 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

事实证明,我的从 437 到 852 的编码方法工作正常,但是创建临时文件并将其移动到原始文件的附加代码导致代码中出现很多混乱,因此无法正常工作。 .

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

returns数据表代码页852编码的方法:

http://pastebin.com/jPqJMxen

~陈迟