专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > VFP

vfp使用Msxml2.ServerXMLHTTP的乱码有关问题

发布时间:2010-05-24 22:04:29 文章来源:www.iduyao.cn 采编人员:星星草
vfp使用Msxml2.ServerXMLHTTP的乱码问题
oo = = newObject('Msxml2.ServerXMLHTTP')
oo.open('post','http://localhost/',.f.)
oo.send('')
?oo.responseText
显示: ???????
服务器端页面返回在浏览器中是“服务器已成功启动”

说明:不想在iis中设置 setchar='utf-8' ,因为用的iis启动器不支持该命令。

comprop(oo,'UTF8',1) && 虽然显示汉字还是乱码。

------解决方案--------------------
Msxml 默认是按 utf-8 来解码的,如果你的网页是用 gb2312 来编码并且包含中文字符的话,收到的 responseText 经过它解码后就变成了乱码。

避免这种乱码问题的最好方法是页面声明为 utf-8 编码,就是 head 部分这条语句:
<meta HTTP-EQUIV="Content-Type" Content="text/html; charset=utf-8">
保存这个 asp 或 html 文件时也一定要用与声明相同的编码格式(utf-8)来保存。

当然有时候页面不是你写的,或者你根本无权做这种编码转换

要知道返回的数据除了 responseText 外,还有一个未经解码的原始数据 responseBody !
如果你确信服务端发回的数据是 gb2312 编码的话,直接用 responseBody 就可以了

oo = newObject('Msxml2.ServerXMLHTTP')
oo.open('POST','http://localhost/',.f.)
oo.send('')
? ''+oo.responseBody

友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: