Encoding problems with dBase III .dbf files on different machines

后端 未结 4 432
一向
一向 2020-12-20 10:09

I\'m using C# and .NET 3.5, trying to import some data from old dbf files using ODBC with Microsoft dBase Driver.

The dbf\'s are in dBase III format and using ibm850

4条回答
  •  心在旅途
    2020-12-20 10:58

    Try this code.

    var oConn = new System.Data.Odbc.OdbcConnection();
    oConn.ConnectionString = "Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=" + dbPath;
    oConn.Open();
    var oCmd = oConn.CreateCommand();
    oCmd.CommandText = @"SELECT name FROM " + dbPath + "TABLE.DBF";
    var reader = oCmd.ExecuteReader();
    reader.Read(); 
    byte[] A = Encoding.GetEncoding(Encoding.Default.CodePage).GetBytes(reader.GetString(0));
    string p = Encoding.Unicode.GetString((Encoding.Convert(Encoding.GetEncoding(850), Encoding.Unicode, A)));
    

提交回复
热议问题