Safari瀏覽器顯示PHP檔案中文出現亂碼解決方案
阿新 • • 發佈:2019-01-25
首先應確認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編碼。
使用Safari瀏覽器開啟後顯示為亂碼。圖片如下:<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>
此種情況多出現於蘋果系統下的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>