很多网友可能会因为gb2312和UTF-8等等编码问题而在网页制作中出现乱码,其实这一般是由于以下几个原因造成的

一,文件没有存为对应的格式,

可能有网友认为将META元标记的解码方式改一下,就可以实现GB2312转UTF-8,或者UTF-8转GB2312,这其实是错误的,虽然你把GB2312编码的网页的Meta标记改为了Utf-8,但这样的操作会让你发现网页出现了乱码。究其原因你文件编码格式还是gb2312的,这时你应把文件存为utf-8,再改meta标记的解码方式。对于将文件存为utf-8,很多朋友可能会用记事本去操作,我不建议这样去做,因为用记事本转换的编码而做的网页会在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标记里有没有如下

检查XML文档里有没有

utf-8或者gb2312,看你文档的编码。

如果是ASP动态页面,最好加上以下几句

以下为相关html文档

<%@ LANGUAGE = "VBScript" CodePage = "65001"%>

CodePage = "65001"中的65001代表是UTF-8编码的文档,GB2312编码的是936

以下为相关vbscript文档

Session.CodePage=65001

另外网上还有如下的ASP代码,我没试过

以下为相关vbscript文档

Response.Charset="utf-8"

希望我的这篇文章能够帮大家解决网页制作中的乱码问题