分类: 系统运维
2008-06-30 09:45:44
先说通过javascript发送时的乱码问题,如果发送的是中文,就要用escape这个函数处理,比如:
=======================
var url="testurl.php?name="+"刚刚";
=======================
那么就要改成
=======================
var url="testurl.php?name="+escape(刚刚);
=======================
下面说一下接收时的乱码问题,用AJAX来GET回一个页面时,responsetext里面的中文多半会出现乱码,这是因为Xmlhttp在处理返回的responseText的时候,是把resposeBody按UTF-8编码进解码考形成的,如果服务器送出的确实是UTF-8的数据流的时候汉字会正确显示,而送出了GBK编码流的时候就乱了。解决的办法就是在送出的流里面加一个HEADER,指明送出的是什么编码流,这样XmlHTTP就不会乱搞了。
所以如果用的语言是php,那么在处理页面第一行加入:
=======================
header('Content-Type:text/html;charset=GB2312');
=======================
如果用的语言是asp,那么在处理页面第一行加入:
=======================
Response.Charset("GB2312")
=======================
如果用的语言是jsa,那么在处理页面第一行加入:
=======================
response.setHeader("Charset","GB2312");
=======================