学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>

解决方案 »

  1.   

    建一個utf-8的空文件,然後將內容複製過來
      

  2.   

    是这样吗?这样还是乱码啊-----------------------------------------------------------------------------------------<!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>
      

  3.   

    老大,我復制你的代碼下來放到一個utf-8的空文件上都沒有問題啊
      

  4.   

    哦,我用的是editplus 请问怎样新建utf-8的空文件不好意思啊,刚学编程几天
      

  5.   

    我这里还有个dreamweaver 这软件可以做吗
      

  6.   

    你新建一个记事本文件(默认编码):
    把代码复习进去,注意
    <META http-equiv="Content-Type" content="text/html; charset=gb2312" /> 就可以了如果你建的记事本文件是utf-8(方法:另存为选编码)
    就注意用这个:
    <META http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
      

  7.   

    editplus也可以的,文件/另存为/编码选择...另,你乱码的原因要检查:
    一,页面编码
    二,文件编码
    三,数据库编码这三个都要保持一致.