Internet Transfer源代码UTF-8乱码问题

jarraytan 2006-03-17 08:15:05
用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=

我怎么才能得到正确的中文文本呢?我在网上查了一下午也没解决,请高手指教!谢谢!
...全文
168 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jarraytan 2006-03-24
  • 打赏
  • 举报
回复
恩。这两个函数我都查过。也试过。后面几个参数始终用不好。没什么变化。
楼上大虾说的编码规则转换的UTF-8编码格式好象是形如%F%4这样的文本,但我这看到的是 鍖椾含鏃呮父淇℃伅缃?-鍖椾含鎻借儨 这样的乱码,能用这种转换规则转换吗?
rainstormmaster 2006-03-20
  • 打赏
  • 举报
回复
//若每次都用URLDownloadToFile下载到本地文件,再创建对象转换,感觉效率会大大降低,大虾能帮忙提供个直接转换的方法吗?谢谢你啦!!!

直接转换可以利用utf8的编码规则自己写

也可以利用WideCharToMultiByte和MultiByteToWideChar这两个api函数转换,具体的你搜索一下以前的帖子吧
jarraytan 2006-03-17
  • 打赏
  • 举报
回复
经过测试,楼上大哥给的函数可以实现。谢谢!

因为我要打开很多次不同页面,若每次都用URLDownloadToFile下载到本地文件,再创建对象转换,感觉效率会大大降低,大虾能帮忙提供个直接转换的方法吗?谢谢你啦!!!
jarraytan 2006-03-17
  • 打赏
  • 举报
回复
大哥,我想直接转换下格式,不燃我得先用API把网页下到本地保存成文件,再用STRAM打开,耗时会大大增加啊。
能提供个直接可以识别这些乱码的算法吗?
faysky2 2006-03-17
  • 打赏
  • 举报
回复
给你一段读去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 Sub

1,453

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧