php和javascript 乱码问题

发布网友 发布时间:2022-04-28 06:03

我来回答

4个回答

懂视网 时间:2022-04-28 10:25

javascript在php中文乱码的解决方法:1、在PHP文件中显示声明为GB2312,并对于发送到服务器的中文进行转码;2、代码是都采用【UTF-8】编码即可。

javascript在php中文乱码的解决方法:

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

header("Content-Type:text/html;charset=GB2312");

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

如下

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

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

相关学习推荐:javascript视频教程

解决方法之二,是都采用UTF-8编码。

附测试例程

客户端

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>ajax post test</title>
</head>
<body>
<div id="msg"></div>
<script language="javascript">
/**
* 初始化一个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;
 }
}
}
</script>
<form name='form1'>
<input type="text" name='content' size=10>
<input type="button" value="确定" οnclick="sendData()"><!--我用submit时就出错-->
</form>
</body>
</html>

服务器端

<?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编程(视频)

热心网友 时间:2022-04-28 07:33

1,在js文件里加了meta吗?如果没有就加下试试,但是加在js脚本之外的,你应该知道。
2,多换几个编辑器来写js文件,包括使用记事本。
3,保存为"utf-8 no bom"格式,有的编辑器叫"utf-8 无 bom"格式。

热心网友 时间:2022-04-28 08:51

应该是你用JS文档 读取了别的页面,产生了编码问题。调整读取方式编码

热心网友 时间:2022-04-28 10:25

如果真不好解决,那这样也没什么不好的。
js是gbk的,js文件打开正常是吧,没有乱码?追问如果js文件是utf-8的,firefox下直接浏览这个js文件凡是中文都是乱码,文件改成gbk的就好了。
我感觉改成gbk,虽然能解决眼下问题,但不是最好的,一个项目里,php,html都是utf-8,唯独js弄个gbk的,感觉不伦不类的。如果能统一最好,肯定是我这边哪个环节有问题

追答这就无法理解了。貌似按你说的你都做了。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com