如何在VB6.0中将ansi编码的内容转换为UTF-8?请各位指教,并赐上源代码
我现在使用的软件每天需要从别人的SQLITE3数据库中提取最新数据并追加到我的数据库中,而源数据库内容的字符编码为ANSI格式,而我使用的数据的字符编码是UTF-8格式,所以看到的源数据全部乱码,我想在软件从源数据库中逐条提取数据时完成编码转换的工作,但不知如何转换,请教各位,最好能附上转换的源代码,非常感谢!!!我已经花了五天时间,也没有解决这个问题,急等!!! 如果你读到VB中以后仍然是ANSI格式,可以用MultiByteToWideChar先转换成UTF16格式,再用WideCharToMultiByte转换成UTF-8格式.以上两个函数是API。如果在VB中不再是乱码,说明已经是UTF16了,只需用后一个就行了。 惭愧,不知道SQLITE3数据库是啥东西. 不过你可先看看从SQLITE3数据库取出来的文字型字段,看字段值读到VB6的string变量中的编码是否正常.另外,你说的"我使用的数据的字符编码是UTF-8格式"又是啥意思呢,我是说你以何种方式使用,比如有的人可能是从SQLITE3中提取数据生成UTF8编码的XML文件保存. 我还是没有解决,可以告诉我具体一点的方法吗?最好能给我源代码,谢谢了 在“Google 代码搜索”里面搜VB语言源代码中包含WideCharToMultiByte的源代码 Ansi-Unicde 互相转换直接用 VB 函数 StrConv(s, vbUnicode)、StrConv(s, vbFromUnicode)
Unicde-UTF8 互相转换用 ADO 2.x 的 Stream 对象,参考
http://topic.csdn.net/u/20091125/07/29565bd6-bfd6-40ac-a332-eb33275eaf57.html
http://topic.csdn.net/u/20090925/20/11a38dbe-b3be-4323-9635-147e91356379.html 楼主既然不愿细说,就参详一下5楼说的资料吧 问题解决没?如果解决了,能告诉方法吗? 我这里有一个现成的类文件(mSqlite.bas),不知道你用的是不是这个。
我自己已经修改过了,现在应该可以正常显示中文,你要的话留一下邮箱,我直接发给你。
不好意思,请直接无视掉,没注意到这帖子是被挖上来的.....
(不过朋友们如果真的需要的话,我可以把现成的类发上来。)
补充:VB , 基础类