关于编码的问题,必须要再开一贴重复说一下。
编码问题,刚开始在学习html的时候,是比较难理解的。甚至有些写了好久代码的人,未必能真的理解透彻编码的问题。
我们可以这样理解:
但凡有汉字的网页,就存在编码的问题。有两种编码规范:GN2312(又叫GBK) 和 UTF-8 。
其实,GB2312不等于GBK,但是我们可以理解为它们俩是一样的。这样理解没有关系的。总之,我们就认为,一个包含汉字的网页,编码就两种:GB2312和UTF-8.如果有人说到GBK编码,或者我们在保存文件时候,有编码选项是ANSI,我们可以认为它们都是GB2312。这样理解就行,实际工作中,没有人会在意这些细节。我们就这样理解,只有gb2312和utf-8这两种编码。
做网页时候,编码的问题,有两处需要注意的地方。
一、 在保存一个写完的代码时候,选择:UTF-8


此处,ANSI可以理解它为gb2312(上文中已经提到),UTF-8 + BOM这个不要选。关于BOM的问题,就是说一个文档中,前面多出三个字节,代表这个文档是UTF-8的。咱们只需要知道有这么回事,真正做网页的时候,不会选择这个(UTF-8 + BOM),选了,有时会有问题(比如需要和后台php程序配合时候)。这里不多讲,总之我们记住这一条:保存文件时,可以选择两个编码格式:GN2312(此处为ANSI) 和 UTF-8。现在一般都会选择UTF-8。
现在我们做网页,有个大家约定速成的默契:一般都会选择UTF-8编码格式。
GB2312和UTF-8的区别是:
1. GB2312中汉字占据两个字节,UTF-8中,汉字占据三个字节。这个在面试的时候会问到,实际中作中。这一条区别没什么卵用。
2. 如果在在其他国家打开GB2312编码的网页,如果此网页包含中文,会显示乱码。而打开UTF-8的网页则不会显示乱码。为了方便在其他国家也能打开带有中文的网页,所以说要选择UTF-8编码。
这第2点我们要知道,这一点在面试的时候,如果被问到,可以和面试官吹吹牛逼了。
二、以上是网页设置为UTF-8格式的第一步。第二步是,在写网页代码的时候,这个地方要告诉浏览器,告诉浏览器说:“浏览器啊,我这个网页,是已经保存为了UTF-8编码了。请你用UTF-8编码格式打开它吧”。
