一个菜鸟的问题:php中添加JavaScript代码alert()语句出现乱码?是怎么回事

有两个文件一个是a文件,一个是b文件,里面都有alert()语句,但b文件中alert()语句在浏览器中显示总是乱码,为啥?求助
a文件:(部分代码)<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<body>
<script language="javascript">
function check(form){
if(form.txt_title.value==""){alert("请输入公告标题!");form.txt_title.focus();return false;}
if(form.txt_content.value==""){alert("请输入公告内容!");form.txt_content.focus();return false;}//这些提示都能正常输出
form.submit();}</script>
下面是一个表单,可以添加新闻标题和内容,有“保存”按钮如下
<td height="40" colspan="2" align="center"><input name="Submit" type="button" class="btn_grey" value="保存" onClick="return check(form1);">

点“保存”后链接到b文件
b文件:
?php
$conn=mysql_connect("localhost","root","111") or die("数据库服务器连接错误".mysql_error());
mysql_select_db("db_database10",$conn) or die("数据库访问错误".mysql_error());
mysql_query("set names gb2312");
$title=$_POST[txt_title];
$content=$_POST[txt_content];
$createtime=date("Y-m-d H:i:s");
$sql=mysql_query("insert into tb_affiche(title,content,createtime)values('$title','$content','$createtime')");
echo "<script>alert('公告信息添加成功!');window.location.href='add_affiche.php';</script>";//此行提示文字出现时乱码,是咋回事?
mysql_free_result($sql);
mysql_close($conn);
?>

第1个回答  推荐于2016-02-25
在php上面加上一个header头信息
header("content-type:text/html;charset=utf8")追问

在B文件中加吗?试了,不行啊。mysql_query("set names gb2312");是什么意思?
a文件中。两个文件不需要一致编码吗?

追答

mysql_query("set names gb2312") 这个是设置从数据库当中读取信息的编码 而在b文件当中的头信息 保持一直 把上面的utf8 设置为gb2312

追问

不是很明白。a文件中是gb2312,而a文件中加入您说的语句后不是变成了utf-8编码了吗?a、b两个文件不需要统一编码吗?我简单的在B文件中加入了header语句,不行,还是乱码。

本回答被提问者和网友采纳
相似回答