微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ajax+php的responseText出现中文乱码

转自http://www.jb51.net/article/9164.htm AJAX的乱码的出现在的原因 由于XMLHTTP采用的是Unicode编码上传数据,而一般页面采用的是gb2312,这就造成显示页面时产生乱码。而当在获取页面时的XMLHttp返回的是utf-8编码,这就造成了显示产生乱码。 解决方法之一就是在PHP文件显示声明为GB2312 header("Content-Type:text/html;charset=GB2312"); 而对于发送到服务器的中文进行转码。 如下 $_POST["content"]=iconv("UTF-8","gb2312",$_POST["content"]); 因而这样可以解决乱码问题 方法二,是都采用UTF-8编码。这里就不多说了 附测试例程 客户端 <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"> <html> <head> <Metahttp-equiv="Content-Type"content="text/html;charset=gb2312"> <title>ajaxposttest</title> </head> <body> <divid="msg"></div> <scriptlanguage="javascript"> /** *初始化一个xmlhttp对象 */ functionInitAjax() {  varajax=false;  try{   ajax=newActiveXObject("Msxml2.XMLHTTP");  }catch(e){   try{    ajax=newActiveXObject("Microsoft.XMLHTTP");   }catch(E){    ajax=false;   }  }  if(!ajax&&typeofXMLHttpRequest!='undefined'){   ajax=newXMLHttpRequest();  }  returnajax; } //在form测试页面内有一个表单,一个显示的层 functionsendData() { varmsg=document.getElementById("msg"); varf=document.form1; varc=f.content.value; //接收数据的URL varurl="dispmsg.PHP"; varpoststr="content="+c; varajax=InitAjax(); ajax.open("POST",url,true); ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); ajax.send(poststr); ajax.onreadystatechange=function(){ if(ajax.readyState==4&&ajax.status==200){ alert("Igotsomething"); msg.innerHTML=ajax.responseText; } } } </script> <formname='form1'> <inputtype="text"name='content'size=10> <inputtype="button"value="确定"onclick="sendData()"><!--我用submit时就出错--> </form> </body> </html> 服务器端 <?PHP header("Content-Type:text/html;charset=GB2312"); if($_POST['content']) { $_POST["content"]=iconv("UTF-8",$_POST["content"]); print("内容是".$_POST['content']); } else { print("没有内容发送"); } ?> 引用自:http://www.blogjava.net/huyi2006/articles/86154.html -----------------------------------------------------------------------------------

原文地址:https://www.jb51.cc/ajax/163868.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐