I have to migrate a legacy application written in Clipper 5 using DBF/CDX database (probably FoxPro 2.5). The new app will use firebird 4. The migration of the data is working correctly except for some especial characters (the language is Brazilian Portuguese). For instance:
“Praça ” becomes “Pra?a”. The same happens with á, â, ã and other special characters etc.
The overall approach is:
Dim conn = New OleDbConnection("Provider=vfpoledb;Extended Properties=""text;HDR=Yes;FMT=Delimited;'CharacterSet=65001'"";Data Source=<my data source>")
Dim cmdString As String = "select p.*, c.* from tb11 as p inner join tb12 as c on p.pjcodipess=c.cgcodipeem"
Dim cmd As New OleDbCommand(cmdString, conn)
Dim adapter As New OleDbDataAdapter(cmd)
Dim table As New DataTable()
adapter.Fill(table)
For Each dr As DataRow In table.Rows
<new database field>.Value = dr("<old database column>")
....
next
I have tried some character sets (don’t know all the possible options), and also the vb.net Enconding class to try to get it right. Nothing has worked so far.
All of this to avoid writing a procedure to go through each field of each table and converting data manually.
Thanks for your help.