由于最近在學(xué)習(xí) HTML犹芹,學(xué)習(xí)過(guò)程中中文顯示亂碼問(wèn)題幾乎所有初學(xué)者都會(huì)遇到允趟,因此本節(jié)為大家介紹中文顯示亂碼的原因及解決方案隘蝎,希望對(duì)大家有所幫助纠屋。
中文顯示亂碼的原因
網(wǎng)頁(yè)顯示中文亂碼是在瀏覽器(例如:Firefox肿孵,IE等)對(duì) HTML 網(wǎng)頁(yè)進(jìn)行解釋的時(shí)候形成的灶壶,其形成原因是瀏覽器無(wú)法正確識(shí)別網(wǎng)頁(yè)內(nèi)容所屬語(yǔ)系灾茁。新建一個(gè) HTML 文件牧抽,并輸入以下內(nèi)容:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
</head>
<body>
<ul>
<li>蘋(píng)果</li>
<li>香蕉</li>
<li>葡萄</li>
</ul>
<ol>
<li>蘋(píng)果</li>
<li>香蕉</li>
<li>葡萄</li>
</ol>
</body>
</html>
當(dāng)我們通過(guò)瀏覽器(測(cè)試使用的是Firefox瀏覽器)顯示該網(wǎng)頁(yè)時(shí),效果如下所示:
好遺憾夏块,中文顯示亂碼了疏咐。這是由于瀏覽器會(huì)將該網(wǎng)頁(yè)語(yǔ)種辨認(rèn)為“歐洲語(yǔ)系”,因此無(wú)法正確顯示中文脐供。
中文顯示亂碼的解決方案
中文顯示亂碼的解決方案就是通過(guò)正確設(shè)置字符編碼來(lái)使得瀏覽器能夠正確識(shí)別網(wǎng)頁(yè)內(nèi)容所屬語(yǔ)系浑塞。例如上面的例子中,將charset=iso-8859-1
修改為charset=utf-8
即可政己。utf-8 是世界性通用字符編碼格式酌壕,可以完美的支持中英文編碼,無(wú)論是中文網(wǎng)頁(yè)或者英文網(wǎng)頁(yè)均不會(huì)出現(xiàn)亂碼問(wèn)題歇由。修改后的代碼如下所示:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
</head>
<body>
<ul>
<li>蘋(píng)果</li>
<li>香蕉</li>
<li>葡萄</li>
</ul>
<ol>
<li>蘋(píng)果</li>
<li>香蕉</li>
<li>葡萄</li>
</ol>
</body>
</html>
顯示效果如下所示:
為什么有時(shí)我們已經(jīng)加入了正確的字符編碼還是會(huì)出現(xiàn)中文亂碼呢卵牍?因?yàn)槲覀兒雎粤艘粯訓(xùn)|西,那就是HTML 文件的實(shí)際編碼方式(例如:Notepad++ utf-8無(wú)BOM格式編碼)沦泌,如果 HTML 文件的實(shí)際編碼方式和 charset 設(shè)定的相同就不會(huì)出現(xiàn) HTML中文亂碼問(wèn)題糊昙,如果不同就可能出現(xiàn)中文亂碼。