瀏覽器亂碼的原因是什么?如何解決
下面這個流程是我們寫入文件到展示文件的簡單描述:
- 我們使用編輯器編寫 HTML 文件
- 保存編寫的 HTML 文件
- 使用瀏覽器打開 HTML 文件
- HTML文件在瀏覽器展示
- 我們編寫 HTML 文件時,如果在<html>中指定了<meta charset="gbk">,設(shè)定字符集為gbk
- 然后保存 HTML 文件時,編輯器用 utf-8 字符集保存
- 接著瀏覽器打開 HTML 文件時,它看到<meta charset="gbk">,這時候它就會用gbk字符集來解碼你的 HTML 文檔
- 由于utf-8和gbk對中文的編碼方式不一樣,那么HTML文件在瀏覽器中顯示示出來肯定是亂碼。
所以這里關(guān)于編碼涉及到3個方面:
- HTML 文檔中的<meta charset=""> 指定的字符集
- 編輯器保存文檔使用的字符集
- 瀏覽器解析 HTML 文檔使用的字符集
- 這里的關(guān)鍵在于2和3步,如果這兩步的字符集不一樣,那么英文以外的文字就會出現(xiàn)亂碼。英文不會出現(xiàn)亂碼是因為一般主流的字符集對英文使用的編碼方式都是一樣的,可以互相兼容。
- 而第3步瀏覽器解析 HTML 文檔使用的字符集依賴于第1步 HTML 文檔中的<meta charset=""> 指定的字符
- 那如果 HTML 文檔沒指定呢?那瀏覽器就會用自己的方式去猜要用哪個字符集來解析 HTML 文檔,這里就可能會發(fā)生錯誤。
所以總結(jié)下如何解決瀏覽器亂碼:
- HTML 文檔一定要指定字符集為utf-8,因為這個字符集包括了世界上幾乎所有的文字,沒有理由不用它。<meta charset="utf-8">
- 編輯器保存文檔使用的字符集一定要跟 HTML 文檔指定的字符集匹配,也就是 utf-8