当前位置: 代码迷 >> 其他数据库 >> SQLITE3数据库读取出来老掉牙乱码
  详细解决方案

SQLITE3数据库读取出来老掉牙乱码

热度:438   发布时间:2016-05-05 08:23:04.0
SQLITE3数据库读取出来老乱码
    我有一数据库文件,下载地址:度娘云盘中http://pan.baidu.com/share/link?shareid=2862693026&uk=2483322549
    我仅会点VB/VB.NET/VBA皮毛,研究了一周但对读出的中文字段乱码问题无法解决,恳请诸位帮助用我熟悉的VB系列语言将这个小小的DB数据正常读出来。(C#也可,只要木有语法错误,可以转成VB.NET,抑或知道转变关键流程的)

一、基本情况

1、该数据库我已经将不相关表删除;
2、该数据库应当是UTF8格式的,或者我判断错误。
3、通过SQLITE expert工具能打开数据库,用其UNICODE查看乱码,改用其ANSI正常显示了。

二、我的措施简介
1、试图通过VBA将表读到EXCEL中,结果ASCII码中的英文、数字等正常,汉字乱码;
   通过注册SQLITE3.DLL读取数据库,用网上几个以API函数MULTIBYTETOWIDECHAR编写自定义函数解码,效果不行。但它们可以解码我测试用的字符串,证明其功能正常。


2、VB.net也读不出中文来,我用SQLITE.ADO.NET读取数据库,用ENCODING.UTF8或ENCODING.GETENCODING(中文代码页编码),都不行,用UTF8字符串测试也可解码成中文,但是从数据库中读来的字符串就是不行。囧死。
SQLITE 乱码 VB.NET unicode utf8

------解决方案--------------------
ur_sys_dim中的DIM_NAME中的内容在SQLITE3.7。2中是乱码
------解决方案--------------------
SQLITE默认是UTF字符,估计写入SQLITE时已经乱码了