失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > ajax+php中文乱码解决办法

ajax+php中文乱码解决办法

时间:2020-12-25 16:33:16

相关推荐

ajax+php中文乱码解决办法

关注设计创意栏目可以让大家能更好的了解电脑,知道有关于电脑的更多有趣教程,今天给大家分享ajax+php中文乱码解决办法教程,希望对大家能有一点小小的帮助。

AJAX的乱码的出现在的原因

由于XMLHTTP采用的是Unicode编码上传数据,而一般页面采用的是gb2312,这就造成显示页面时产生乱码。而当在获取页面时的XMLHttp返回的是utf-8编码,这就造成了显示产生乱码。

解决方法之一就是在PHP文件中显示声明为GB2312

header("");

而对于发送到服务器的中文进行转码。

如下

$_POST["content"]=iconv("UTF-8","gb2312",$_POST["content"]);

因而这样可以解决乱码问题

方法二,是都采用UTF-8编码。这里就不多说了

附测试例程

客户端

!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

html

head

meta http-equiv="Content-Type" content="text/html; charset=gb2312"

titleajax post test/title

/head

body

div/div

script language="javascript"

/**

* 初始化一个xmlhttp对象

*/

function InitAjax()

{

var ajax=false;

try {

ajax = new ActiveXObject("");

} catch (e) {

try {

ajax = new ActiveXObject("");

} catch (E) {

ajax = false;

}

}

if (!ajax && typeof XMLHttpRequest!="undefined") {

ajax = new XMLHttpRequest();

}

return ajax;

}

//在form 测试页面内有一个表单,一个显示的层

function sendData()

{

var msg=("");

var f=;

var c=;

//接收数据的URL

var url="dispmsg.php";

var poststr="content="+c;

var ajax=InitAjax();

("",,);

ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

ajax.send(poststr);

ajax.onreadystatechange=function(){

if(ajax.readyState==4 && ajax.status==200){

alert("I got something");

msg.innerHTML=ajax.responseText;

}

}

}

/script

form name="form1"

input type="text" name="content" size=10

input type="button" value="确定"!--我用submit时就出错--

/form

/body

/html

服务器端

?php

header("");

if($_POST[content])

{

$_POST["content"]=iconv("UTF-8","gb2312",$_POST["content"]);

print("内容是".$_POST[content]);

}

else

{

print("没有内容发送");

}

?

引用自:/huyi/articles/86154.html

如果觉得《ajax+php中文乱码解决办法》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。