VB应用SQLite数据库读取中文乱码

VB使用SQLite数据库读取中文乱码
网上下载了一个VB使用SQLite数据库的实例,测试中发现以下问题:
1.不支持BLOB型数据读写;
2.中文读取乱码。实例提供了Unicode到UTF-8的编码函数,但没有UTF-8到Unicode的解码函数,所以存入中文经测试没有问题,但读取时出现乱码(全英文不出现问题)。

我把资源放到这个地址http://download.csdn.net/source/2881540

希望高手们帮忙解决一下。谢谢了!
------解决方案--------------------
這個問我解決了,
// mSqlite.sqlite3_exec(f_lSqlite, "INSERT INTO data (Age , Name) VALUES (23, '中國人12') ") = SQLITE_OK

修改如下程序:

Public Function sqlite3_exec(ByVal sqlite3 As Long, ByVal zSql As String) As Long
    'int sqlite3_exec(
    '  sqlite3*,                                  /* An open database */
    '  const char *sql,                           /* SQL to be evaluated */
    '  int (*callback)(void*,int,char**,char**),  /* Callback function */
    '  void *,                                    /* 1st argument to callback */
    '  char **errmsg                              /* Error msg written here */
    ');
       
    Dim bvData()    As Byte
    Dim lSize       As Long
    Dim lRet        As Long
    
    If LenB(zSql) Then
        lSize = Len(zSql) * 4
        ReDim bvData(lSize)
    
        lRet = WideCharToMultiByte(CP_UTF8, 0, StrPtr(zSql), Len(zSql), bvData(0), lSize + 1, vbNullString, 0)
    
        If lRet Then
            ReDim Preserve bvData(lRet - 1)
        End If
    End If

    If m_bLoaded Then
        With m_cCDECL
            sqlite3_exec = .CallFunc("sqlite3_exec", sqlite3, VarPtr(bvData(0)), 0, 0, 0)
        End With
    Else
        sqlite3_exec = SQLITE_ERROR
    End If
End Function

------解决方案--------------------
实在不行就转换为字符串来用好了,比如二进制转为base64字符串,都是很成熟的东西