Internet Transfer源代码UTF-8乱码问题
用Inet控件的OpenURL得到了一个网页的源文件。源文件是UTF-8格式的,但显示到文本框中如下:
TML><HEAD><TITLE>鍖椾含鏃呮父淇℃伅缃?-鍖椾含鎻借儨</TITLE>
<META http-equiv=Content-Type content="text/html; charset=UTF-8"><LINK
href="http://www.visitbeijing.com.cn/css/css.css" type=text/css rel
本来应该是
TML><HEAD><TITLE>北京旅游信息网--北京揽胜</TITLE>
<META http-equiv=Content-Type content="text/html; charset=UTF-8"><LINK
href="http://www.visitbeijing.com.cn/css/css.css" type=text/css rel=
我怎么才能得到正确的中文文本呢?我在网上查了一下午也没解决,请高手指教!谢谢!
问题点数:100、回复次数:5Top
1 楼faysky2(出来混,迟早是要还嘀)回复于 2006-03-17 20:31:18 得分 80
给你一段读去UTF-8文件的代码:
Private Sub Command1_Click()
Dim strRlt As String
Dim objStream As Object
Set objStream = CreateObject("ADODB.Stream")
With objStream
.Type = 2
.Mode = 3
.Open
.LoadFromFile "c:\test.txt" 'test.txt是UTF-8格式的文本文件
.Position = 0
.Charset = "UTF-8"
strRlt = Mid(.ReadText, 2)
.Close
End With
Set objStream = Nothing
Debug.Print strRlt
End SubTop
2 楼boythl(沙漠孤狐【工作,生活,编程】)回复于 2006-03-17 20:46:40 得分 0
大哥,我想直接转换下格式,不燃我得先用API把网页下到本地保存成文件,再用STRAM打开,耗时会大大增加啊。
能提供个直接可以识别这些乱码的算法吗?Top
3 楼boythl(沙漠孤狐【工作,生活,编程】)回复于 2006-03-17 20:57:35 得分 0
经过测试,楼上大哥给的函数可以实现。谢谢!
因为我要打开很多次不同页面,若每次都用URLDownloadToFile下载到本地文件,再创建对象转换,感觉效率会大大降低,大虾能帮忙提供个直接转换的方法吗?谢谢你啦!!!Top
4 楼rainstormmaster(暴风雨 v2.0)回复于 2006-03-20 09:16:35 得分 20
//若每次都用URLDownloadToFile下载到本地文件,再创建对象转换,感觉效率会大大降低,大虾能帮忙提供个直接转换的方法吗?谢谢你啦!!!
直接转换可以利用utf8的编码规则自己写
也可以利用WideCharToMultiByte和MultiByteToWideChar这两个api函数转换,具体的你搜索一下以前的帖子吧Top
5 楼boythl(沙漠孤狐【工作,生活,编程】)回复于 2006-03-24 16:59:34 得分 0
恩。这两个函数我都查过。也试过。后面几个参数始终用不好。没什么变化。
楼上大虾说的编码规则转换的UTF-8编码格式好象是形如%F%4这样的文本,但我这看到的是 鍖椾含鏃呮父淇℃伅缃?-鍖椾含鎻借儨 这样的乱码,能用这种转换规则转换吗?Top




