在坛子里搜了艘,没找到答案。想问一下,下载到本地的Web页以Binary方式读入后,怎样判断他是UTF-8还是GB2312编码的呢?难道直接用InStr函数查找获取<meta http-equiv="Content-Type" content="text/html; charset=utf-8">中的关键字吗?不知道还有没有其他更科学的方法

解决方案 »

  1.   

    直接用InStr函数查找获取<meta http-equiv="Content-Type" content="text/html; charset=utf-8">中的关键字
    不科学么?
      

  2.   

    用InStr函数也不是不科学,我只是想问问还有没有更高效的方法
      

  3.   

    难道下载时接收的header头会不提示是否UTF8吗?记不清了!
      

  4.   

    其实我想要实现的是利用API函数URLDownloadToFile将网页下载到本地,然后判断该网页的编码方式是UTF-8还是GB2312
    现在下载那部分已经弄好了,就剩下如何判断UTF-8或是GB2312了。当然使用InStr函数查找网页源码的字符串这个我知道,我想问问还有没有更好的方法
      

  5.   

    先写入到HtmlDocument中进行字符流解码,再判断字符集编码。
      

  6.   

    1)在页面头部指定 charset= 是推荐的标准,这是你首先就应该查找的。
    2)但是Web页的标准又不严格,可以出现没有指定 charset= 的情况,这时就靠猜了,比如看网站所在的区域、比如 IE 选项中的语言首选项等。
    不是百分百正确,所以还有终极解决方法——通常浏览器的查看菜单中有编码选项,可以人工选取一个能正确显示的编码。