1、问题
1)浏览器乱码的原因是什么?如何解决
2)常见的浏览器有哪些,什么内核
2、浏览器乱码的原因是什么?如何解决
在回答这个问题之前,需要先知道通用的编码方式。
1)通用的编码方式
ASCII
全称美国标准信息交换代码(American Standard Code for Information Interchange)的缩写, 针对英语设计。
ISOLatin-1
ASCII字符集不包括德、法语中的特殊拉丁字符,因此欧洲人发明了ISO 8859-1Latin 1,简称为ISOLatin-1。它对ASCII做了个扩充,涵盖拉丁字母表中特殊语言字符。
UNICODE
随着计算机发展,需要把地球上绝大多数语言用一种编码方式表示,发明了UNICODE编码,只用2个字节(16位)就可以编码地球上几乎所有地区的文字。简单理解就是,UNICODE是理论上的编码方式,相当于给世界上每个文字打了个编号,编号具体是以多种实现方式在计算机里面存储,比如utf-8和gbk。
UTF-8
utf-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。可用于显示中文简体繁体及其它语言(如英文,日文,韩文)。
GBK
中国制定的一套汉字编码规则,用2个字节来表示一个汉字,总共可以覆盖2万多个文字。
2)原因
使用编辑器编写 HTML 文件,保存编写的HTML文件,会按照使用的编辑器默认的编码方式进行保存,使用浏览器打开HTML文件。在没有声明的情况下,浏览器并不知道你的这个文件是使用什么编码方式,于是会使用了默认解码方式。例如文件保存为GBK格式,在Chrome打开时默认使用 ISO -8859的解码方式,就会导致编码和解码不匹配,产生乱码。
3)如何解决
在文件保存的时候,自己要清楚是用哪种编码方式保存的(sublime默认保存方式是utf-8,安装了GBK Encoding support插件也可另存为gbk)。
如果你的文件是保存为utf-8格式,在html 的 <head>里添加<meta charset="utf-8">;如果你的文件保存为gbk格式,一定在文件里添加<meta charset="gbk">,对浏览器进行说明,直接按照声明的编码方式进行解析读取,就不会有乱码问题。
3、常见的浏览器有哪些,什么内核
1)常见的浏览器
IE浏览器、Netscape6、Opera、Safari、傲游浏览器3.0、QQ浏览器、搜狗高速浏览器等。
2)常见浏览器的内核
(1)IE浏览器内核:Trident
Trident内核程序在1997年的IE4中首次被采用,简称IE内核。它是微软在Mosaic代码的基础之上修改而来的,并沿用到目前的IE8。Trident实际上是一款开放的内核,其接口内核设计的相当成熟,有许多采用IE内核而非IE的浏览器涌现。
(2)Netscape6浏览器内核:Gecko
Gecko的特点是代码完全公开,因此,其可开发程度很高,全世界的程序员都可以为其编写代码,增加功能。基于开源内核的特性,备受青睐,出现很多以Gecko为内核的浏览器,因此有挺大的市场占有量。
(3)Opera浏览器内核:Presto
Presto内核在2003年的Opera7中首次被使用,该款引擎的特点就是渲染速度的优化达到了极致,也是目前公认网页浏览速度最快的浏览器内核,但对网页的兼容性差。
(4)苹果Safari浏览器内核:Webkit
Webkit是苹果公司自己的内核,也是使用的内核。 Webkit引擎包含WebCore排版引擎及JavaScriptCore解析引擎,均是从KDE的KHTML及KJS引擎衍生而来。且Webkit开放源代码。
(5)傲游浏览器3、QQ浏览器和搜狗高速浏览器都是使用Webkit与Trident双核心
Webkit核心让网页打开速度更快,Trident核心则带来更好的兼容性支持。使用高速(webkit)和兼容(Trident)双浏览模式,保证良好兼容性的同时极大提升网页浏览速度。当采用高速模式访问网页出现问题时,可直接切换内核,使用兼容性更佳的兼容模式正常浏览网页。
参考:http://ruoyu.jirengu.com/post/%E5%85%B3%E4%BA%8E%E6%B5%8F%E8%A7%88%E5%99%A8%E4%B9%B1%E7%A0%81
//www.greatytc.com/p/dff7709006ae