首頁 >後端開發 >PHP問題 >php網頁亂碼

php網頁亂碼

王林
王林原創
2019-09-30 11:53:203087瀏覽

php網頁亂碼

一、檢查HTML頁面轉UTF-8編碼問題 
1、在head後,title前加入一行:

<meta http-equiv=&#39;Content-Type&#39; content=&#39;text/html; charset=utf-8&#39; />

#順序不能錯,一定要在head後,title前。

2、html檔案編碼問題:

點擊編輯器的選單:“檔案”->“另存為”,可以看到目前檔案的編碼,確保檔案編碼為:UTF -8, 如果是ANSI,需要將編碼改成:UTF-8。

3、HTML檔案頭BOM問題: 

將檔案從其他的編碼轉換成UTF-8編碼時,有時會在檔案的最開始加上一個BOM標籤, 在個BOM標籤可能會導致瀏覽器在顯示中文的時候出現亂碼。 

刪除這個BOM標籤的方法: 

#1、可以用Dreamweaver開啟文件,並重新儲存,也就是可以移除BOM標籤!

2、可用EditPlus開啟文件,並在選單「偏好設定」->「檔案」->"UTF-8標誌",設定為:「總是刪除簽章」, 然後儲存文件,即可以去除BOM標籤!

3、WEB伺服器UTF-8編碼問題: 

如果你按以上所列的步驟做了,還是有中文亂碼問題, 請檢查你的所使用的WEB伺服器的編碼問題;如果你使用的是Apache,請將設定檔裡的:charset 設為:utf-8(這裡僅列出方法,具體格式請參考apache的設定檔);如果你使用的是Nginx,請將nginx .conf裡的:charset 設為utf-8,具體找到"charset gb2312;"或類似的語句,改成:「charset utf-8;」。

二、PHP頁轉UTF-8編碼問題 

#1、在程式碼開始出加入一行: 

header("Content-Type: text/html;charset=utf-8");

2、PHP文件編碼問題:

點擊編輯器的選單:“文件”->“另存為”,可以看到當前文件的編碼,確保文件編碼為:UTF-8, 如果是ANSI,需要將編碼改成:UTF-8。

3、PHP檔案頭BOM問題: 

PHP檔案一定不可以有BOM標籤,否則,會出現session不能使用的情況,並且有類似的提示: 

#
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent

這是因為,在執行session_start() 的時候,整個頁面不能有輸出,但是當由於前PHP頁面存在BOM標籤, PHP把這個BOM標籤當成是輸出了,所以就出錯了! 所以PHP頁面一定要刪除BOM標籤。

刪除這個BOM標籤的方法: 

1、可以用Dreamweaver開啟文件,並重新儲存,也就是可以移除BOM標籤!

2、可用EditPlus開啟文件,並在選單「偏好設定」->「檔案」->"UTF-8標誌",設定為:「總是刪除簽章」, 然後儲存文件,即可以去除BOM標籤!

4、PHP以附件形式儲存檔案的時候,UTF-8編碼問題: 

PHP以附件形式儲存文件,檔案名稱必須是GB2312編碼, 否則,如果檔案名中有中文的話,將是顯示亂碼。如果你的PHP本身是UTF-8編碼格式的文件, 需要將文件名變數由UTF-8轉成GB2312:

 iconv("UTF-8", "GB2312", "$filename");

推薦教學:PHP影片教學

#

以上是php網頁亂碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn