Ich bin mit dem Ändern der Codepage einer DBF-Datei von 437 bis 852.Encoding DBF-Datei in 852 Codepage funktioniert nicht
ich den Code ein Problem mit untersucht, die die Datentabelle Codiert und es scheint, dass im Innern das Visual Studio es korrekt zu 852 codiert, aber nach dem Verschieben der codierten Datei und Ersetzen durch das Original kommt es zurück, als ob Kodierung nicht passieren würde? Also ich denke, dass der Code für die Codierung funktioniert gut, aber etwas anderes ändert die Datei wieder auf 437 Codepage! Bitte helfen ...
Beispielcode:
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);
Methode, die die Codierung tut:
Ihre Probe Code enthält nicht einmal den geringsten Hinweis auf Text-Codierung ... – Nyerguds
ja ich weiß, aber das Problem ist nicht der Kodierungscode, weil es funktioniert, aber das Problem ist File.Move (TempFileName, OriginalFileName) die Datei, die verschoben wird bleibt Mit 437 Codepage dachte ich sogar, wenn ich DR über prüfe Breakpoints es codiert die Zeichen korrekt zu 852 – ChenChi
die Codes macht temporäre DBF-Datei "_DBFFILE" codiert es und ersetzt es durch original "DBFFILE" aber wenn ich die dbf-Datei öffnen, schien es noch die odbf.Write (orec, true) zu schreiben 852 Codepage-Zeichen es öffnet sich immer noch (in DBF Commander) als 437 Codepage – ChenChi