日期:2014-05-16  浏览次数:20664 次

用XMLHTTP GET HTML页面时的中文乱码问题 - Web 开发 / Ajax
用XMLHTTP   GET   HTML页面时的中文乱码问题

使用的函数是:
function   AjaxReadData(sUrl)
{
  var   strRetn;
  var   pgeObj   =   null;
  if(window.XMLHttpRequest)
  {
    pgeObj   =   new   XMLHttpRequest();
  }
  else   if(window.ActiveXObject)
  {
    pgeObj   =   new   ActiveXObject( "Msxml2.XMLHTTP ");
  }
  else
  {
    return   null;
  }
  pgeObj.onreadystatechange   =   function()
  {
    if(pgeObj.readyState   ==   4)
    {
      if(pgeObj.status   ==   200)
      {
        strRetn   =   pgeObj.responseText;
      }
      else
      {
        strRetn   =   " ";
      }
    }
  }
  pgeObj.open( 'GET ',sUrl,false);
  pgeObj.send();
  pgeObj.abort();
  pgeObj   =   null;
  return   strRetn;
}
这个函数返回sUrl指向的页面的HTML

如果页面meta里面的charset是gb2312就会出现中文乱码,如果页面的charset是UTF-8就不会。

注:我没有服务器供我调试。我想在客户端解决问题。

------解决方案--------------------
在后台处理页面加上
Response.charset= "gb2312 ",因为它默认是utf-8,而我们前台显示的编码是gb2312