CNET中国旗舰网站

ZDNet China | CNET科技资讯网 | 政府采购 | 行业网站联盟





 
标题: [转贴] xmlhttp显示乱码问题,难道就没有人给出个真正的答案吗?
mz89757053
元老
Rank: 12Rank: 12Rank: 12



UID 304999
精华 0
积分 100023
帖子 8340
威望 46660
ZD币 9886 元
阅读权限 245
注册 2008-3-10
状态 离线
  楼主
发表于 2008-3-18 15:46  资料  个人空间  短消息  加为好友 
开发者在线

xmlhttp显示乱码问题,难道就没有人给出个真正的答案吗?

现在网上普遍存在的是使用以下的code获取网页信息的:   
  function   getHttpPage(url)   
  t   =   getBody(url)   
  getHttpPage   =   bytesToBstr(t,"gb2312")         '(1)   
  end   function   
   
  function   getBody(url)   
  ' on   error   resume   next   
  set   retrieval   =   createObject("Microsoft.XMLHTTP")   
  with   retrieval   
  .open   "get",   url,   false,   "",   ""   
  .send   
  getBody   =   .responseBody   
  end   with   
  set   retrieval   =   nothing   
  end   function   
   
  function   bytesToBstr(body,   cSet)   
  set   objStream   =   server.CreateObject("adodb.stream")   
  objStream.type   =   1   
  objStream.mode   =   3   
  objStream.open   
  objStream.write   body   
  objStream.position   =   0   
  objStream.type   =   2   
  objStream.charset   =   cSet   
  bytesToBstr   =   objStream.readText   
  objStream.close   
  set   objStream   =   nothing   
  end   function   
   
  但我发现这段代码只对网页中设定编码格式为“gb2312”的网页才能正确显示,比方说http://news.sina.com.cn/   
   
  但对有些编码格式设置为“utf-8”的网页显示出来的就是乱码了,比方说http://www.csdn.net/   
   
  当我把(1)出的gb2312改为utf-8的时候结果又相反。   
   
  那有没有什么办法能够提前获得网页的编码格式呢?   
   
  看过一些有关的帖子,但回答的都不完全。。。




顶部
热点频道推荐: C/S开发| 数据库| WEB开发| 嵌入式| 项目管理|
mz89757053
元老
Rank: 12Rank: 12Rank: 12



UID 304999
精华 0
积分 100023
帖子 8340
威望 46660
ZD币 9886 元
阅读权限 245
注册 2008-3-10
状态 离线
  沙发
发表于 2008-3-18 15:46  资料  个人空间  短消息  加为好友 
在你请求的HTTP头当中不就包含了页面的编码方式了吗?




顶部
热点频道推荐: C/S开发| 数据库| WEB开发| 嵌入式| 项目管理|
 



当前时区 GMT+8, 现在时间是 2008-12-5 15:23

  Powered by Discuz! 5.5.0 © 2001-2007 Comsenz Inc.
Processed in 1.135919 second(s), 3/4 queries

清除 Cookies - 联系我们 - ZDNetChina中文社区 - 无图版