SQLITE3数据库读取出来老乱码

时间:2021-09-24 06:32:53
    我有一数据库文件,下载地址:度娘云盘中 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字符串测试也可解码成中文,但是从数据库中读来的字符串就是不行。囧死。

4 个解决方案

#1


ur_sys_dim中的DIM_NAME中的内容在SQLITE3.7。2中是乱码

#2


当然我的意思是所有中文字段都乱码

#3


SQLITE默认是UTF字符,估计写入SQLITE时已经乱码了

#4


引用 3 楼 WWWWA 的回复:
SQLITE默认是UTF字符,估计写入SQLITE时已经乱码了


这数据库是某一系统的一张表,同我在顶楼所说,该数据用SQLITE界面软件打开后说是UTF8,用哪个PARA什么命令,返回的编码也说是UTF8

#1


ur_sys_dim中的DIM_NAME中的内容在SQLITE3.7。2中是乱码

#2


当然我的意思是所有中文字段都乱码

#3


SQLITE默认是UTF字符,估计写入SQLITE时已经乱码了

#4


引用 3 楼 WWWWA 的回复:
SQLITE默认是UTF字符,估计写入SQLITE时已经乱码了


这数据库是某一系统的一张表,同我在顶楼所说,该数据用SQLITE界面软件打开后说是UTF8,用哪个PARA什么命令,返回的编码也说是UTF8