注册 登录
编程论坛 jQuery论坛

ajax传输中文问题

zqzq1100 发布于 2010-10-10 10:03, 1538 次点击

html代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.
<html xmlns="http://www.
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
</head>
<body>
 <span onclick="showHint(汉字)" >汉字</span>
</body>
</html>
ajax代码
var xmlHttp

function showHint(str)
{
 
   document.getElementById(str).style.display='block';
  if (str.length==0)
    {
    document.getElementById("txtHint").innerHTML="";
    return;
    }

  xmlHttp=GetXmlHttpObject()

  if (xmlHttp==null)
    {
    alert ("您的浏览器不支持AJAX!");
    return;
    }
  var str1=GB2UTF8(str)
  var url="http://www.
  url=url+"?q="+str1;
  xmlHttp.onreadystatechange=stateChanged;
  xmlHttp.open("GET",url,true);
  xmlHttp.send(null);
}
function   GB2UTF8(str)
{
return   encodeURIComponent(str)
}


function stateChanged()
{
if (xmlHttp.readyState==4)
{
texthtml=xmlHttp.responseText;

document.getElementById("txtHint").innerHTML=texthtml;
}
}

function GetXmlHttpObject()
{
  var xmlHttp=null;
  try
    {
    // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
    }
  catch (e)
    {
    // Internet Explorer
    try
      {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      }
    catch (e)
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    }
return xmlHttp;
}
服务器代码
<%

q=request.querystring("q")

  response.write(q)
%>
传输英文和数字都可以。传输中文不显示或者显示乱码。请问这个应该怎么改。前提是html页面的编码不能改 就只能是GB2312
先谢谢
4 回复
#2
lele20072010-10-10 10:19
程序代码:
<%
response.Charset = "gb2312"
q=request.querystring("q")
response.write(q)
%>
改成这样试一下
#3
zhongx2011-04-23 20:37
  学习了
1