html中文亂碼問題的解決


    當我試着用html寫代碼的時候,發現直接保存的文件用瀏覽器打開時中文顯示是亂碼的,所以我找了一些解決方法,可是原因不太明白,所以我也就不解釋了,能夠自己找找原因,以下提供解決方法:
在寫的html的第一行增加這一行代碼:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
問題攻克了。


原因:

一、亂碼造成原因   -   TOP

1、比方網頁源碼是gbk的編碼,而內容中的中文字是utf-8編碼的。這樣瀏覽器打開即會出現html亂碼。反之網頁是編碼utf-8。內容是gbk也會出現亂碼。

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

3、瀏覽器不能自己主動檢測網頁編碼,造成網頁亂碼。

二、解決亂碼方法   -   TOP

第一種。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

在寫數據庫連接文件時。寫成:

  
  
 
 
         
  1. $conn = mysql_connect("$host","$user","$password"); 
  2. mysql_query("SET NAMES 'UTF8'"); 
  3. mysql_select_db("$database",$conn); 

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

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

這樣無論輸入數據庫的中文。還是頁面顯示。就都正常了。


在DW CS4版里。默認生成的也是utf8頁面。

相同的。假設一開始寫數據庫連接文件時寫成:

  
  
 
 
         
  1. mysql_query("SET NAMES 'GBK'"); 

那頁面也要對應變成:

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

其他asp程序或其他程序語言站點依據實際情況到百度查詢轉換編碼方法。

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


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

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

在IE9瀏覽器中須要轉碼的網頁空白出右鍵鼠標,就可以選擇“編碼”。


傲游瀏覽器中瀏覽須要轉碼的網頁時,菜單“查看”-->“編碼”就可以選擇轉換編碼
谷歌瀏覽器中瀏覽須要轉碼的網頁時,點擊右上角“三橫”圖標選擇“工具”-->“編碼”就可以選擇切換網頁編碼達到讓瀏覽器瀏覽此網頁不是亂碼。

2、假設自己開發網頁,必須網頁增加meta charset編碼標簽。

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

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

假如轉換時候。不是記事本編輯加入meta charset編碼標簽就完畢,這樣相同會造成亂碼,那是由於直接記事本加入或改動編碼格式后,而相應Html超文本文檔內容並沒有隨加入或改動編碼格式而變化。這個時候須要真正意義上的轉碼,所以最好借助開發軟件進行編碼加入與改動。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM