用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=我怎么才能得到正确的中文文本呢?我在网上查了一下午也没解决,请高手指教!谢谢!

解决方案 »

  1.   

    给你一段读去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
      

  2.   

    大哥,我想直接转换下格式,不燃我得先用API把网页下到本地保存成文件,再用STRAM打开,耗时会大大增加啊。
    能提供个直接可以识别这些乱码的算法吗?
      

  3.   

    经过测试,楼上大哥给的函数可以实现。谢谢!因为我要打开很多次不同页面,若每次都用URLDownloadToFile下载到本地文件,再创建对象转换,感觉效率会大大降低,大虾能帮忙提供个直接转换的方法吗?谢谢你啦!!!
      

  4.   

    //若每次都用URLDownloadToFile下载到本地文件,再创建对象转换,感觉效率会大大降低,大虾能帮忙提供个直接转换的方法吗?谢谢你啦!!!直接转换可以利用utf8的编码规则自己写也可以利用WideCharToMultiByte和MultiByteToWideChar这两个api函数转换,具体的你搜索一下以前的帖子吧
      

  5.   

    恩。这两个函数我都查过。也试过。后面几个参数始终用不好。没什么变化。
    楼上大虾说的编码规则转换的UTF-8编码格式好象是形如%F%4这样的文本,但我这看到的是 鍖椾含鏃呮父淇℃伅缃?-鍖椾含鎻借儨 这样的乱码,能用这种转换规则转换吗?