试试:
------------------------------
<script language="JavaScript">
<!--
function BytesToBstr(body,Cset)
{
var objReturn = null;
try
{
var objstream = new ActiveXObject("Adodb.Stream");
objstream.type=1;
objstream.Mode=3;
objstream.Open();
objstream.Write(body);
objstream.Position = 0;
objstream.Type = 2
objstream.Charset = Cset;
objReturn = objstream.ReadText();
objstream.Close();
delete objstream;
}
catch (e)
{
objReturn = "创建ActiveX控件失败!"
}
return objReturn;
}
//-->
</script>
------------------------------
<script language="JavaScript">
<!--
function BytesToBstr(body,Cset)
{
var objReturn = null;
try
{
var objstream = new ActiveXObject("Adodb.Stream");
objstream.type=1;
objstream.Mode=3;
objstream.Open();
objstream.Write(body);
objstream.Position = 0;
objstream.Type = 2
objstream.Charset = Cset;
objReturn = objstream.ReadText();
objstream.Close();
delete objstream;
}
catch (e)
{
objReturn = "创建ActiveX控件失败!"
}
return objReturn;
}
//-->
</script>
不过此时xmlhttp同样的也不能跨域了因此,你只需将传递给xmlhttp的数据转换成utf-8编码的就可以了
var objCheck = new ActiveXObject("Microsoft.XMLHTTP");
var returnText;
objCheck.open("POST","classmenu.asp?ModuleName=Info", false);
objCheck.setRequestHeader("Content-Type","text/xml;charset=utf-8");
//objCheck.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset:GB2312");
objCheck.send();
returnText=unescape(objCheck.responseText);
objCheck=null;
document.write(returnText);
</script>
我是代码是这样的, 就是不行, classmenu.asp文件中一输出中文就乱码了
不能用document.write(returnText);写到页面
而要用tagobject.innerHTML = returnText