html為什麼有亂碼以及解決方案

來源:互聯網
上載者:User
有三種原因會造成html網頁亂碼原因。那麼我們今天來說一下三種不同的產生原因以及三種問題的解決方案。

造成html網頁亂碼原因主要是html原始碼內中文字內容與html編碼不同造成。但無論是哪種情況造成亂碼在網頁開始時候都需要設定網頁編碼。

亂碼造成原因

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 'GBK'");

那頁面也要相應變成:

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

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


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

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

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

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

傲遊瀏覽器中瀏覽需要轉碼的網頁時,菜單“查看”-->“編碼”即可選擇轉換編碼

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

導致HTML網頁亂碼的原因以及解決方案就這麼多,需要的朋友可以儲存一下,也請大家持續關注本站的其他更新。

相關閱讀:

html中的label標籤使用方法


HTML標題標籤元素怎麼修改


用CSS來操作border的小技巧

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.