PHP Ajax乱码的出现一般都是因为页面采用了gb2312,从而造成显示页面时产生乱码。我们在文章中给出了两种解决方法,供大家参考学习。
PHP语言功能虽然强大,但是在实际编程中难免会遇到一些问题,只有偶很好的解决了这些问题,才能更熟练的掌握运用这门语言。下面我们就向大家介绍PHP Ajax乱码的具体解决方法。
#t#由于XMLHTTP采用的是Unicode编码上传数据,而一般页面采用的是gb2312,这就造成显示页面时产生乱码。而当在获取页面时的XMLHttp返回的是utf-8编码,这就造成了显示产生乱码。
PHP Ajax乱码解决方法之一就是在PHP文件中显示声明为GB2312
header("Content-Type:text/html;charset=GB2312");
而对于发送到服务器的中文进行转码。
如下
$_POST["content"]=iconv("UTF-8","gb2312",$_POST["content"]);
因而这样可以解决PHP Ajax乱码问题
方法二,是都采用UTF-8编码。这里就不多说了
PHP Ajax乱码解决示例之客户端
- <!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&&typeofXMLHttp
Request!='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 Ajax乱码解决示例之服务器端
- <?php
- header("Content-Type:text
/html;charset=GB2312");- if($_POST['content'])
- {
- $_POST["content"]=iconv("
UTF-8","gb2312",$_POST["content"]);- print("内容是".$_POST['content']);
- }
- else
- {
- print("没有内容发送");
- }
- ?>
以上代码示例就是PHP Ajax乱码的相关解决方法,希望对又需要的朋友有所帮助。
转载请说明出处
知优网 » 如何正确处理PHP Ajax乱码(php中ajax中文乱码)
知优网 » 如何正确处理PHP Ajax乱码(php中ajax中文乱码)