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

解决AJAX传送中文会导致乱码的问题
使用POST的时候:
//如果传送参数是直接赋予的,就会产生乱码!
http_request.open("POST",url,true);
http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=gb2312');
http_request.send("action="+strName+"&val="+val);   //如果val的值为中文,则产生乱码
//解决方法很简单:使用javascript中的escape(string) 函数
http_request.open("POST",url,true);
http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=gb2312');
http_request.send("action="+strName+"&val="+escape(val));   //val的值为中文不会产生乱码



使用GET的时候:
1、在html标签meta中加入content="text/html; charset=gb2312" 确认浏览器解析时的编码.
2、确认服务器层面上的编码方式
PHP:header('Content-Type:text/html;charset=GB2312');
ASP:Response.Charset("GB2312")或者Response.Charset= "gb2312"
JSP:response.setHeader("Charset","GB2312");