PHP乱码的奇怪问题

来源:百度知道 编辑:UC知道 时间:2024/05/14 18:05:45
这是一段教学光盘中留言板中的一段源程序
<html>
<title>修改留言</title>
<body>
<h2><center>留言修改</center></h2>
<?
session_start();
if($_SESSION['admin']=="OK")
{
$conn=mysql_connect ("localhost", "root", "123456");
mysql_query("set names GB2312"); //解决中文乱码问题
mysql_select_db("guest_book");

$exec="select * from contents where id=".$_GET['id']; /*这里这个$_GET['id']就是取得从那个连接传递过来的参数拉 */
$result=mysql_query($exec);
$rs=mysql_fetch_object($result);
$name=$rs->name;
$content=$rs->content;
$id=$rs->id;
?>

<form action="modify2.php" method="post" name="name1">
I D : <?=$id?><input type=hidden name=id value=<?=$id?> > <br>
姓名: <?=$name?><br>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
上面这句一般在一个网页文件的<head></head>标签内。
里面的 charset=gb2312 是表示该网页文件的编码方式是gb2312。

mysql_query("set names GB2312");
这句是说从数据库中弄出来的数据显示的编码方式。

从数据库中取出来的数据编码方式一定要和该网页文件的编码方式一致。
也就是说上面那个charset=gb2312 而你的mysql_query("set names GB2312");

上面那个charset=UTF-8 你的mysql_query("set names utf8");

我是这样理解的。。。
希望对你有用。

你页面的编码不一致,你新建的是utf8的编码!

注意一下本身源文件的编码,有的编辑器是ascii,有的是unicode...