开发者社区> sjf0115> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

[IT]HTML网页源码的字符编码(charset)解释

简介:
+关注继续查看

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

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

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

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

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

其中包含了解析HTML的头部(head),找到对应的charset和Content-type

head中把Content-type设置为“text/html”。head让浏览器将该响应内容以HTML形式呈现,而不是以文件形式下载它。

然后把根据charset所指示的字符编码类型,去解码对应的HTML内容,显示对应的文字,以保证不是乱码,可以正确的显示文字信息;

举个例子:

当我们通过浏览器,去打开对应的url地址:http://sports.sohu.com/

浏览器可以正常显示对应网页内容:


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

1.浏览器去访问url地址:http://sports.sohu.com/  去获得对应的HTML源码。(中间很有很多处理过程,省略,具体参考:当你在浏览器地址栏输入一个URL后回车,将会发生的事情?

2.然后解析HTML源码并显示给用户

其中包括了解析HTML的head,知道content=text/html,charset=gb2312,然后用gb2312编码格式去解码,HTML形式呈现,然后就可以正常显示HTML中的内容,确保不是乱码了。


上面截图就是网页源代码,我们可以很清楚的看到我们要的信息。


注意:

1.之前就看到某处说过,有个别的html网页本身做的不规范,导致本身自己声明的是某种编码类型,

但是实际上,并不全是该类型的编码,导致你去按照其所声明的编码去解析,有时候仍会出现乱码。

比如,其html中明明写的是charset=gb2312,但是实际上,其部分字符是属于GBK的,导致你按照gb2312去解码,有些字符仍会是乱码,

而安装gbk去解码,就全都正常显示了,没有乱码了。即实际上应该是charset=gbk。


常见的HTML编码类型:

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

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

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

总结:

  • 国内外的多数网站,都是采用charset=utf-8
  • 部分国外网站采用charset=gb2312或charset=gbk
  • 部分国外网站采用某种自己所属语言的编码,比如charset=iso8859-1







版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
my task doorway - where is it parsed
Created by Wang, Jerry on Apr 03, 2015
12 0
PostgreSQL 10.1 手册_部分 II. SQL 语言_第 11 章 索引_11.9. 操作符类和操作符族
11.9. 操作符类和操作符族 一个索引定义可以为索引中的每一列都指定一个操作符类。 CREATE INDEX name ON table (column opclass [sort options] [, ...]); 操作符类标识该列上索引要使用的操作符。
1072 0
Reading:一款不错的Material Desgin风格的Kotlin版本的开源APP
版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/lyhhj/article/details/81946831 Reading https://github.com/Hankkin/Reading 简介 很久不见,重新拾起博客吧,今天分享一个开源APP-Reading,项目的初衷是因为自己平时翻文章,但是公众号又经常忘记看,自己索性搞一个APP吧,顺便练一下Kotlin。
1231 0
小议云计算对IT架构的影响
本文讲的是小议云计算对IT架构的影响,对于云计算的困惑,可能更多的还是围绕它对IT组织架构方面的影响。很多人都认为云计算仅仅是一种影响企业某些方面的技术进步。
1159 0
mysql 源码安装 ( ncurses 找不到)
  mysql  源码安装 ncurses 找不到   # cmake ./ -- MySQL 5.6.4-labs-innodb-memcached -- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH) CMake Error at cmake/readline.
965 0
CSS3+HTML5特效9 - 简单的时钟
原文:CSS3+HTML5特效9 - 简单的时钟 效果演示(加快了100倍)                       实现原理 利用CSS3的transform-origin 及 transform 完成以上效果。
789 0
+关注
sjf0115
Stay Hungry, Stay Foolish---我们必须用谦虚者的自觉,饥饿者的渴望的求职态度,来拥抱我们的未来。
788
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载