Problemas con Codificacin de caracteres UTF-8 vs ANSI en SQLite

Buenas noches a todos,
Estoy preparando una aplicacin de migracin de datos de Microsoft Access a SQLite, y me encuentro con el eterno problema de la codificacin de caracteres.

La base de datos Access de origen se encuentra en Windows ANSI. La base de datos SQLite destino se encuentra por defecto en UTF-8

He intentado dos opciones:
1.- Convertir a UTF-8 los valores de cada campo al insertarlos en SQLite
2- Configurar la base de datos SQLite a ANSI, despus insertar los registros, y por ltimo volver a configurar SQLite a UTF-8

En ninguno de los dos casos he tenido xito. Los acentos y las “” se pierden. Sin embargo, con un buen editor de bases SQLite (ej. SQLite Expert Personal 3) puedo cambiar a ANSI y veo la informacin correctamente.

Por otro lado, tampoco s cmo abrir una base de datos SQLite desde cdigo directamente en ANSI. Con que pudiese realizar esta ltima opcin tambin me podra valer.

Adjunto las pruebas realizadas:

1.- Intentar convertir valor antes de guardarlo:

    Static row As New DatabaseRecord
    
    for a=1 to RsTable1.FieldCount
      row.Column(NewNameFieldsArray(i,a))=ConvertEncoding(RsTable1.idxField(a).Value, Encodings.UTF8)
    next a
    db2.InsertRecord(NewTableName, row)

2.- PRAGMA:
SQLSentence=“PRAGMA encoding = ‘ANSI’;”
db2.SQLExecute SQLSentence
db2.Commit

Intente lo siguiente:

Dim StringAsUTF8 As String

StringAsUTF8 = ConvertEncoding(DefineEncoding(RsTable1.idxField(a).Value, Encodings.ISOLatin1) , Encodings.UTF8)

//As que asegrese de que se ha traducido correctamente. No he probado esto, compruebe por favor cuidadosamente.

Muchas gracias Rick, as funciona correctamente :slight_smile: