关于HTML网页源码的字符编码(charset)格式(GB2312,GBK,UTF-8,ISO8859-1等)的解释

本文介绍了浏览器解析HTML源码时涉及的字符编码处理流程,包括识别charset属性以正确解码内容,避免显示乱码。以IE9打开URL显示正常网页为例,展示了如何使用Notepad++查看HTML源码中的charset信息。常见的HTML字符编码包括GB2312、GBK、UTF-8和ISO8859-1,其中UTF-8由于兼容性好而被广泛使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当你通过浏览器,打开某个网站,即某个url地址的时候,你所能正常看到网页的内容,各种文字,都可以正常显示,且没有显示乱码。

此过程,涉及到,浏览器帮你正确解析HTML源码,其中涉及到HTML网页源码的字符编码处理方面的问题。

 

和html字符编码有关的流程

和字符编码处理相关的大概逻辑是:

1.浏览器访问对应的url地址,并获取对应的html(或者,以及,其他的css,javascript等)网页源码

2.浏览器识别解析HTML源码内容

其中包含了,解析html的头部(header),找到对应的charset=xxx这部分的内容,然后把根据xxx所指示的字符编码类型,去解码对应的html内容,显示对应的文字,以保证不是乱码,可以正确的显示文字信息;

 

举个例子:

当我们通过浏览器,比如IE9,去打开对应的url地址:

http://www.songtaste.com/user/351979/

时,IE9中是可以正常显示对应网页内容的:


而此时,内部发生的过程就是:

1.IE9去访问url地址:

http://www.songtaste.com/user/351979/

去获得对应的html源码。

2.然后解析html源码并显示

其中包括了,解析html的头部信息,找到charset=gb2312,然后用GB2312编码格式去解码,然后就可以正常显示html中的内容,确保不是乱码了。

 

如何知道HTML源码是什么编码格式的

其中,关于html中charset部分的内容,此处详细解释一下:

此处我们可以通过Notepad++去查看当前html页面的源码:


 

然后就可以看到源码了,然后设置语言为HTML后,就可以方便看到对应的语法高亮后的源码了,其中就可以看到对应的html的header中的

<meta http-equiv="content-type" content="text/html;charset=gb2312">

部分的内容:


 

注:关于Notepad++的使用,以及如何设置为默认的HTML编辑器,不熟悉的可参考:

Notepad++的默认HTML查看器

 

此处的

charset=gb2312

就是我们所要找的,html的字符编码类型。

如果我们按照此编码格式去解析html内容,就可以正常解析,不会出现乱码了。

 

注意:

1.之前就看到某处说过,有个别的html网页本身做的不规范,导致本身自己声明的是某种编码类型,但是实际上,并不全是该类型的编码,导致你去按照其所声明的编码去解析,有时候仍会出现乱码。

比如,其html中明明写的是charset=gb2312,但是实际上,其部分字符是属于GBK的,导致你按照gb2312去解码,有些字符仍会是乱码,而安装gbk去解码,就全都正常显示了,没有乱码了。

即实际上应该是charset=gbk。

对此,需要稍微注意一下。

注:关于gb2312,和gbk的关系,不了解的去看:

中文字符编码标准

 

常见的html的编码类型(即常见的html的charset的值有哪些)

国内的网站,尤其是以前建的,好像很多还是GB2312(charset=gb2312),或者是GBK(charset=gbk)

但是越来越多的,都是采用兼容性更好的,包含字符更多的UTF-8编码的了(charset=utf-8)

国外的完整,如果只是某种语言的,比如英文的,好像也有采用iso8859-1的(charset=iso8859-1),同样,更多的网站,还是采用的是utf-8的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值