javascript在php中文乱码的解决方法:1、在PHP文件中显示声明为GB2312,并对于发送到服务器的中文进行转码;2、代码是都采用【UTF-8】编码即可。
javascript在php中文乱码的解决方法:
解决方法之一,就是在PHP文件中显示声明为GB2312header("Content-Type:text/html;charset=GB2312");
而对于发送到服务器的中文进行转码。
如下$_POST["content"]=iconv("UTF-8","gb2312",$_POST["content"]);
因而这样可以解决乱码问题
解决方法之二,是都采用UTF-8编码。
附测试例程
客户端
ajax post test/**
* 初始化一个xmlhttp对象
*/
function InitAjax()
{
var ajax=false;
try {
ajax = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
ajax = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
ajax = false;
}
}
if (!ajax && typeof XMLHttpRequest!='undefined') {
ajax = new XMLHttpRequest();
}
return ajax;
}
//在form 测试页面内有一个表单,一个显示的层
function sendData()
{
var msg=document.getElementById("msg");
var f=document.form1;
var c=f.content.value;
//接收数据的URL
var url="dispmsg.php";
var poststr="content="+c;
var ajax=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("I got something");
msg.innerHTML=ajax.resp****eText;
}
}
}
服务器端<?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编程(视频)