在网页的编码中,最常用的就是中文的gb2312编码方式和英文的UTF-8编码方式。很多初入网站建设这一个行业的朋友,都因为在一个网站制作过程因为编码问题而在网页中出现了乱码,不知所措,中国WebSite网在这里总结了一下网页中出现乱码的几种情况,供大家参考。
第一:网页文件没有存为对应的编码格式,
很多人都认为把META里的GB2312改成UTF-8,或者UTF-8改成GB2312就可以实现两种编码方式的转变,其实这种做法是不对的,虽然你把Utf-8编码的网页的Meta标记改为了GB2312,但这样操作的结果会你的网面里出现乱码。究其原因你的网页文件编码格式还是Utf-8的,这时你应该把网页文件存为GB2312的,再改meta标记的解码方式。对于将文件存为GB2312,很多人可能会用记事本去操作,我不建议这样去做,因为用记事本转换的编码而做的网页会在W3C效验时出现BOM错误,具体如下:
Byte-Order Mark found in UTF-8 File. The Unicode Byte-Order Mark (BOM) in UTF-8 encoded files is known to cause problems for some text editors and older browsers. You may want to consider avoiding its use until it is better supported.
你可以选择比较新版本的editplus和ultraedit都可以选择保存为无BOM的utf-8格式。
第二:文件缺少必要的标识
首先要检查一遍html标记里有没有如下:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
然后再检查XML文档里有没有
<?xml version="1.0" encoding="utf-8"?>
utf-8或者gb2312,看你文档的编码。
如果是ASP动态页面,最好加上以下几句
<%@ LANGUAGE = "VBScript" CodePage = "65001"%>
CodePage = "65001"中的65001代表是UTF-8编码的文档,GB2312编码的是936
以下为相关vbscript文档
Session.CodePage=65001