瀏覽器亂碼的原因是什么阀湿?如何解決
下面這個(gè)流程是我們寫入文件到展示文件的簡單描述:
- 我們使用編輯器編寫 HTML 文件
- 保存編寫的 HTML 文件
- 使用瀏覽器打開 HTML 文件
- HTML文件在瀏覽器展示
- 我們編寫 HTML 文件時(shí),如果在<html>中指定了<meta charset="gbk">瑰妄,設(shè)定字符集為gbk
- 然后保存 HTML 文件時(shí)陷嘴,編輯器用 utf-8 字符集保存
- 接著瀏覽器打開 HTML 文件時(shí),它看到<meta charset="gbk">间坐,這時(shí)候它就會(huì)用gbk字符集來解碼你的 HTML 文檔
- 由于utf-8和gbk對中文的編碼方式不一樣灾挨,那么HTML文件在瀏覽器中顯示示出來肯定是亂碼。
所以這里關(guān)于編碼涉及到3個(gè)方面:
- HTML 文檔中的<meta charset=""> 指定的字符集
- 編輯器保存文檔使用的字符集
- 瀏覽器解析 HTML 文檔使用的字符集
- 這里的關(guān)鍵在于2和3步竹宋,如果這兩步的字符集不一樣劳澄,那么英文以外的文字就會(huì)出現(xiàn)亂碼。英文不會(huì)出現(xiàn)亂碼是因?yàn)橐话阒髁鞯淖址瘜τ⑽氖褂玫木幋a方式都是一樣的蜈七,可以互相兼容秒拔。
- 而第3步瀏覽器解析 HTML 文檔使用的字符集依賴于第1步 HTML 文檔中的<meta charset=""> 指定的字符
- 那如果 HTML 文檔沒指定呢?那瀏覽器就會(huì)用自己的方式去猜要用哪個(gè)字符集來解析 HTML 文檔飒硅,這里就可能會(huì)發(fā)生錯(cuò)誤。
所以總結(jié)下如何解決瀏覽器亂碼:
- HTML 文檔一定要指定字符集為utf-8三娩,因?yàn)檫@個(gè)字符集包括了世界上幾乎所有的文字庵芭,沒有理由不用它。<meta charset="utf-8">
- 編輯器保存文檔使用的字符集一定要跟 HTML 文檔指定的字符集匹配雀监,也就是 utf-8