以前没有接触过ajax,刚做了一个简单的功能。但是中文乱码很让人郁闷。调用相应页面去拿实时数据
function callAjax(url,callback) {
    xmlHttp.open("GET",url,true);
    xmlHttp.onreadystatechange=callback;
    xmlHttp.send(null);
}var word=xmlHttp.responseText去拿get到的数据,
前台页面用js把拿到的数据写到一个名为keyword的输入框中:document.getElementById("keyword").value=word
用户可以点击提交把这个keyword的值提交给下一个页面去查询结果这其中document.getElementById("keyword").value=word这里,输入框中偶尔会出现中文乱码的现象,如果在webconfig中把编码都改成utf-8的话就完全正常,但是如果从其它gb2312的站点提交过来的查询就会出现乱码,很郁闷因为以前的项目都是gb2312的,不想改变编码方式,以免以后出现其它问题。现在想问问各位有经验的兄弟们,有什么方法可以解决我的中文乱码问题,谢谢先

解决方案 »

  1.   

    网上查了下说,出现这种问题是因为xmlhttp默认是utf-8编码模式,用gb2312的站点就会出现乱码。
    我就想xmlhttp本身有没有改变编码模式的函数什么的,这样估计就行,噢噢。
      

  2.   

    Server.HtmlEncode编码,前端再用javascript对就Decode解码
      

  3.   

    ContentType="text/html;charset=UTF-8"
    在被请求的页面里,加一句,这样就解决了。
      

  4.   

    使用utf-8编码
      

  5.   

    解决了,在webconfig里加了个
     <location path="Ajax_b.aspx">
      <system.web>
       <globalization requestEncoding="utf-8"  responseEncoding="utf-8"/>
      </system.web>
     </location>
    对取值那个页面规定utf-8编码就可以了。比较简单一点。jiagun4 、kason_j 的方法估计也可以,有时间再研究了,谢谢了