1. 程式人生 > >Safari瀏覽器顯示PHP檔案中文出現亂碼解決方案

Safari瀏覽器顯示PHP檔案中文出現亂碼解決方案

首先應確認PHP程式碼中使用的編碼都是統一的。

<pre name="code" class="php"><?php
    $conn=mysql_connect("localhost","root","") or die("資料庫伺服器連線錯誤".mysql_error());
    mysql_select_db("db_database18",$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);
?>

上面展示的是與資料庫連線PHP程式碼,使用gb2312編碼。

下面展示的PHP程式碼中,網頁使用gb2312編碼。

<html>
<head>
<title>公告資訊管理</title>
<meta http-equiv="Content-Type" content="text/html; <span style="color:#ff0000;">charset=gb2312</span>">
<link href="css/style.css" rel="stylesheet">
</head>

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

<table width="828" height="522" border="0" align="center" cellpadding="0" cellspacing="0" id="__01">
	<tr>
		<td background="images/image_01.gif"> 			</td>
		<td height="140" background="images/image_02.gif"> 			</td>
	</tr>
	<tr>
		<td width="202" rowspan="3" valign="top"><table width="202" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td height="34" background="images/image_03.gif"> </td>
          </tr>
          <tr>
            <td height="310" valign="top"><img src="images/image_09.gif" width="202" height="310" border="0" usemap="#Map"></td>
          </tr>
        </table></td>
		<td height="34" background="images/image_04.gif"> 			</td>
	</tr>
	<tr>
		<td height="38" background="images/image_06.gif"> 			</td>
	</tr>
	<tr>
		<td height="270" valign="top">
			<table width="626" height="100%" border="0" cellpadding="0" cellspacing="0">
              <tr>
                <td height="257" align="center" valign="top" background="images/image_08.gif"><table width="600" height="257"  border="0" cellpadding="0" cellspacing="0">
                  <tr>
                    <td height="22" align="center" valign="top" class="word_orange"><strong>新增公告資訊</strong></td>
                  </tr>
                  <tr>
                    <td height="235" align="center" valign="top"><table width="500" height="226"  border="0" cellpadding="0" cellspacing="0">
                        <tr>
                          <td height="226" align="center" valign="top">
                            <form name="form1" method="post" action="check_add_affiche.php">
                              <table width="520" height="212"  border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
                                <tr>
                                  <td width="87" align="center">公告主題:</td>
                                  <td width="433" height="31"><input name="txt_title" type="text" id="txt_title" size="40">
                    * </td>
                                </tr>
                                <tr>
                                  <td height="124" align="center">公告內容:</td>
                                  <td><textarea name="txt_content" cols="50" rows="8" id="txt_content"></textarea></td>
                                </tr>
                                <tr>
                                  <td height="40" colspan="2" align="center"><input name="Submit" type="submit" class="btn_grey" value="儲存" onClick="return check(form1);">
                                     <input type="reset" name="Submit2" value="重置"></td>
                                </tr>
                              </table>
                          </form></td>
                        </tr>
                    </table></td>
                  </tr>
                </table></td>
              </tr>
            </table>			</td>
	</tr>
	<tr>
		<td bgcolor="#F0F0F0"></td>
		<td height="43" background="images/image_12.gif"></td>
	</tr>
</table>


<map name="Map">
  <area shape="rect" coords="30,45,112,63" href="add_affiche.php">
</map>
</body>
</html>
使用Safari瀏覽器開啟後顯示為亂碼。圖片如下:

此種情況多出現於蘋果系統下的PHP程式設計。此時應點選螢幕上方的【顯示】,將【文字編碼】設定為gb2312編碼即可解決。如下圖所示。



改正後該頁面顯示如下:


該頁面另一PHP檔案程式碼如下:主要實現PHP語言的頁面訪問資料庫,記錄並彈窗顯示成功。可在後臺數據庫中求證資料確已錄入。

<html>
<head>
<title>公告資訊管理</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="css/style.css" rel="stylesheet">
</head>
<body>
<table width="828" height="522" border="0" align="center" cellpadding="0" cellspacing="0" id="__01">
	<tr>
		<td background="images/image_01.gif"> 			</td>
		<td height="140" background="images/image_02.gif"> 			</td>
	</tr>
	<tr>
		<td width="202" rowspan="3" valign="top"><table width="202" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td height="34" background="images/image_03.gif"> </td>
          </tr>
          <tr>
            <td height="310" valign="top"><img src="images/image_09.gif" width="202" height="310" border="0" usemap="#Map"></td>
          </tr>
        </table></td>
		<td height="34" background="images/image_04.gif"> 			</td>
	</tr>
	<tr>
		<td height="38" background="images/image_06.gif"> 			</td>
	</tr>
	<tr>
		<td height="270" valign="top">
			<table width="626" height="100%" border="0" cellpadding="0" cellspacing="0">
              <tr>
                <td height="257" align="center" valign="top" background="images/image_08.gif"><table width="600" height="257"  border="0" cellpadding="0" cellspacing="0">
                  <tr>
                    <td height="22" align="center" valign="top" class="word_orange"> </td>
                  </tr>
                  <tr>
                    <td height="235" align="center" valign="top"> </td>
                  </tr>
                </table></td>
              </tr>
            </table>			</td>
	</tr>
	<tr>
		<td bgcolor="#F0F0F0"></td>
		<td height="43" background="images/image_12.gif"></td>
	</tr>
</table>
<map name="Map">
  <area shape="rect" coords="30,45,112,63" href="add_affiche.php">
</map>
</body>
</html>