php utf-8、gb2312乱码问题

lancezhong 2009-07-03 11:19:10
学php也有好几天了,也弄了好几天,这乱码问题还是没办解决。当文件以 ANSI 编码模式保存时才正常,为什么保存为utf-8和gb2312 时候会乱码呢?
-----------------------------------------------------------------------------------------

<?
header('content-Type=text/html;charset=utf-8')
?>

<?php
require("conn.php");
?>
<table width="91%" border="0" bordercolor="#000000" align="center" cellpadding="5" cellspacing="0" style="border:#000 solid 1px">
<tr bgcolor="#B10707">
<td colspan="2" style="color:#FFF"><strong>论坛版块</strong></td>
<td>
<?php
session_start();
if(!isset($_SESSION["username"])||!isset($_SESSION["islogined"])){
echo"<a href=\"login.php\">登陆</a> <a href=\"reg.php\">注册</a>";
}
else{
echo $_SESSION["username"].",<a href=\"control.php\">我的资料</a> <a href=\"loginout.php\">注销</a>";
if($_SESSION["groupID"]=="2") echo " <a href=\"admin_forums.php\">论坛管理</a>";
}
?>
</td>
</tr>
<tr bgcolor="#FDF7AF">
<td width="6%">状态</td>
<td width="70%">论坛</td>
<td width="24%">最后更新</td>
</tr>
<?php
$sql="select * from forums";
$result=mysql_query($sql);
$num=mysql_num_rows($result);
if($num>0){
while($row=mysql_fetch_array($result)){
?>
<tr>
<td></td>
<td><?php echo "<div class=\"bold\"><a class=\"forum\" href=\"forums.php?F=".$row["ID"]."\">".$row["forum_name"]."</a></div>".$row["forum_description"] ?></td>
<td><div><?php echo $row["last_post_time"]." By ".$row["last_post_author"]?></div></td>
</tr>
<?php
}
}else{
echo "<tr><td colspan=3>对不起,论坛尚在建设中……</td></tr>";
}
close_db(); //调用close_db()函数,关闭连接,释放系统资源
?>
</table>


---------------------------------------------------------------------------------------
改成这样还是乱码
---------------------------------------------------------------------------------------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</HEAD>

<BODY>


<?php
require("conn.php");
?>
<table width="91%" border="0" bordercolor="#000000" align="center" cellpadding="5" cellspacing="0" style="border:#000 solid 1px">
<tr bgcolor="#B10707">
<td colspan="2" style="color:#FFF"><strong>论坛版块</strong></td>
<td>
<?php
session_start();
if(!isset($_SESSION["username"])||!isset($_SESSION["islogined"])){
echo"<a href=\"login.php\">登陆</a> <a href=\"reg.php\">注册</a>";
}
else{
echo $_SESSION["username"].",<a href=\"control.php\">我的资料</a> <a href=\"loginout.php\">注销</a>";
if($_SESSION["groupID"]=="2") echo " <a href=\"admin_forums.php\">论坛管理</a>";
}
?>
</td>
</tr>
<tr bgcolor="#FDF7AF">
<td width="6%">状态</td>
<td width="70%">论坛</td>
<td width="24%">最后更新</td>
</tr>
<?php
$sql="select * from forums";
$result=mysql_query($sql);
$num=mysql_num_rows($result);
if($num>0){
while($row=mysql_fetch_array($result)){
?>
<tr>
<td></td>
<td><?php echo "<div class=\"bold\"><a class=\"forum\" href=\"forums.php?F=".$row["ID"]."\">".$row["forum_name"]."</a></div>".$row["forum_description"] ?></td>
<td><div><?php echo $row["last_post_time"]." By ".$row["last_post_author"]?></div></td>
</tr>
<?php
}
}else{
echo "<tr><td colspan=3>对不起,论坛尚在建设中……</td></tr>";
}
close_db(); //调用close_db()函数,关闭连接,释放系统资源
?>
</table>
</BODY>
</HTML>
...全文
1021 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
free212 2009-07-03
  • 打赏
  • 举报
回复
editplus也可以的,文件/另存为/编码选择...

另,你乱码的原因要检查:
一,页面编码
二,文件编码
三,数据库编码

这三个都要保持一致.
lgzxz999 2009-07-03
  • 打赏
  • 举报
回复
你新建一个记事本文件(默认编码):
把代码复习进去,注意
<META http-equiv="Content-Type" content="text/html; charset=gb2312" /> 就可以了

如果你建的记事本文件是utf-8(方法:另存为选编码)
就注意用这个:
<META http-equiv="Content-Type" content="text/html; charset=utf-8" />

zkluninfo 2009-07-03
  • 打赏
  • 举报
回复
dreamweaver 也可以啊
lancezhong 2009-07-03
  • 打赏
  • 举报
回复
我这里还有个dreamweaver 这软件可以做吗
lancezhong 2009-07-03
  • 打赏
  • 举报
回复
哦,我用的是editplus 请问怎样新建utf-8的空文件

不好意思啊,刚学编程几天
tfxg 2009-07-03
  • 打赏
  • 举报
回复
老大,我復制你的代碼下來放到一個utf-8的空文件上都沒有問題啊
lancezhong 2009-07-03
  • 打赏
  • 举报
回复
是这样吗?这样还是乱码啊

-----------------------------------------------------------------------------------------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> test </TITLE>
<META http-equiv="Content-Type" content="text/html; charset=utf-8" />
</HEAD>

<BODY>


<?php
require("conn.php");
?>
<table width="91%" border="0" bordercolor="#000000" align="center" cellpadding="5" cellspacing="0" style="border:#000 solid 1px">
<tr bgcolor="#B10707">
<td colspan="2" style="color:#FFF"><strong>版块</strong></td>
<td>
<?php
session_start();
if(!isset($_SESSION["username"])||!isset($_SESSION["islogined"])){
echo"<a href=\"login.php\">登陆</a> <a href=\"reg.php\">注册</a>";
}
else{
echo $_SESSION["username"].",<a href=\"control.php\">我的资料</a> <a href=\"loginout.php\">注销</a>";
if($_SESSION["groupID"]=="2") echo " <a href=\"admin_forums.php\">论坛管理</a>";
}
?>
</td>
</tr>
<tr bgcolor="#FDF7AF">
<td width="6%">状态</td>
<td width="70%">论坛</td>
<td width="24%">最后更新</td>
</tr>
<?php
$sql="select * from forums";
$result=mysql_query($sql);
$num=mysql_num_rows($result);
if($num>0){
while($row=mysql_fetch_array($result)){
?>
<tr>
<td></td>
<td><?php echo "<div class=\"bold\"><a class=\"forum\" href=\"forums.php?F=".$row["ID"]."\">".$row["forum_name"]."</a></div>".$row["forum_description"] ?></td>
<td><div><?php echo $row["last_post_time"]." By ".$row["last_post_author"]?></div></td>
</tr>
<?php
}
}else{
echo "<tr><td colspan=3>对不起,论坛尚在建设中……</td></tr>";
}
close_db(); //调用close_db()函数,关闭连接,释放系统资源
?>
</table>
</BODY>
</HTML>
tfxg 2009-07-03
  • 打赏
  • 举报
回复
建一個utf-8的空文件,然後將內容複製過來
daven_wang 2009-07-03
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 free212 的回复:]
editplus也可以的,文件/另存为/编码选择...

另,你乱码的原因要检查:
一,页面编码
二,文件编码
三,数据库编码

这三个都要保持一致.
[/Quote]

对头,
乐游 之 神话 2009-07-03
  • 打赏
  • 举报
回复
我觉得也得这样!
[Quote=引用 8 楼 free212 的回复:]
editplus也可以的,文件/另存为/编码选择...

另,你乱码的原因要检查:
一,页面编码
二,文件编码
三,数据库编码

这三个都要保持一致.
[/Quote]
lancezhong 2009-07-03
  • 打赏
  • 举报
回复
谢谢楼上各位朋友的帮助,问题终于解决了

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧