為什麼HTML網頁亂碼與解決方法

php中世界最好的语言
發布: 2017-11-21 11:58:23
原創
3615 人瀏覽過

有時候我們做出來的網頁開啟以後是亂碼,那我們需要怎麼解決這種情況呢?以下就帶給大家亂碼造成的原因以及解決亂碼的方法。

一、亂碼造成原因 

1、例如網頁原始碼是gbk的編碼,而內容中的中文字是utf-8編碼的,這樣瀏覽器開啟即會出現html亂碼。反之網頁是編碼utf-8,內容是gbk也會出現亂碼。

2、html網頁編碼是gbk,而程式從資料庫中調出呈現是utf-8編碼的內容也會造成編碼亂碼。

3、瀏覽器無法自動偵測網頁編碼,造成網頁亂碼。

二、解決亂碼方法 

第一種,html網頁原始碼編碼與中文字輸入編碼不同。

解決方法:

使用軟體進行編輯HTML網頁內容,建議使用DW軟體進行HTML程式碼編輯與開發。

盡量不要直接使用記事本來編輯HTML程式碼。

第二種,如果網頁設定編碼是gbk的,而資料庫儲存資料編碼格式是UTF-8的,這個時候程式查詢資料庫資料顯示資料前進鄉程式轉碼即可。

例如PHP程式+mysql查詢顯示資料轉碼:

1、mysql_query("SET NAMES 'UTF8'"); //將查詢資料轉碼為utf8,也就是轉換為utf-8

2、mysql_query("SET NAMES 'GBK'");//將查詢資料轉碼為GBK,如gbk2312

在寫資料庫連接檔時,寫成:

$conn = mysql_connect("$host","$user","$password"); 
mysql_query("SET NAMES 'UTF8'"); 
mysql_select_db("$database",$conn);
登入後複製

然後在做頁面時,注意這句話:

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

這樣不管輸入資料庫的中文,還是頁面顯示,就都正常了。

在DW CS4版裡,預設產生的也是utf8頁面。

同樣的,如果一開始寫資料庫連接檔時寫成:

mysql_query("SET NAMES &#39;GBK&#39;");
登入後複製

那頁面也要相應變成:

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
登入後複製
登入後複製

其它asp程式或其它程式語言網站根據實際情況到百度查詢轉換編碼方法。

第三種,瀏覽器造成亂碼。

這個可能是你網頁沒有設定meta charset編碼造成。導致瀏覽器無法辨識你網頁預設編碼類型。解決方法:

1、如果瀏覽器瀏覽時候出現網頁亂碼,在瀏覽器中找到轉換編碼的選單。

在IE9瀏覽器中需要轉碼的網頁空白出右鍵滑鼠,即可選擇「編碼」。

傲遊瀏覽器中瀏覽需要轉碼的網頁時,選單「檢視」-->「編碼」即可選擇轉換編碼

Google瀏覽器中瀏覽需要轉碼的網頁時,點擊右上角「三橫」圖示選擇「工具」-->「編碼」即可選擇切換網頁編碼達到讓瀏覽器瀏覽此網頁不是亂碼。


2、如果自己開發網頁,必須網頁加入meta charset編碼標籤。

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
登入後複製
登入後複製

 

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
登入後複製

假如轉換時候,不是記事本編輯添加meta charset編碼標籤就完成,這樣同樣會造成亂碼,那是因為直接記事本添加或修改編碼格式後,而對應Html超文本文檔內容並沒有隨添加或修改編碼格式而變化,這個時候需要真正意義上的轉碼,所以最好藉助開發軟體進行編碼添加與修改。

推薦DW軟體中修改編碼。在DW軟體中進行編碼修改或添加,並重新載入編碼的網頁。

網頁亂碼的解決方法有需要的朋友可以儲存一下,也請大家持續關注本站的其他更新。

相關閱讀:

HTML裡的checkbo怎麼使用


HTML裡的命名規則


html中的字體顏色怎麼修改

以上是為什麼HTML網頁亂碼與解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板