您的位置:首页 > 其它

URL编码和网页编码

2010-11-15 17:30 127 查看
今天梳理了一下关于编码的概念,把以前没有搞明白的东西,又理解了一遍。
虽然我还不能肯定是不是全部肯定。
关于我们计算机字符串编码,主要是两块。
一个是URL的编码,一个是网页内容(CONTENT TYPE)

这个就造成了不兼容的问题,因为我们的互联网运行机制决定了。
当我们在浏览器输入URL的时候,浏览器都有自己默认的编码方式
比如IE(UTF-8)、Firefox(GB2312)、还有360、搜狗、Chorme等
有些是ASC-II有些是Unicode,大部分是Unicode,当然是可以更换的
浏览器是无法显示内容的,因为网页的内容全都是在服务器端。
所以,这个时候浏览器会将我们的URL进行ASC-II编码或者Unicode
当然不止这两种了。
然后服务器接受了编码,然后把编码进行解码,解码的方式也有不同
例如是UTF-8,或者GBK什么的
然后我们的服务器抓取编码后的网页发送到浏览器上
浏览器这个时候接受到服务器响应之后,把编码又经过自己的编码方式
进行解码,并显示给客户。
浏览器编码————>服务器解码,网页编码传递——————>浏览器解码,显示
所以有时候会出现乱码的现象

然后再来谈编码的东西
最开始的“美标”也就是ASC-II属于有数字0-9、有字母a-z、A-Z,然后还有空格
和一些标点符号,显然这些是不够用的。
就有了扩展的ASC-II和Latin-1
但是 世界上还有很多国家是用汉字,特别是亚洲的国家。
所以就有了Unicode也就是被称作万国码。
UTF-7、UTF-8都是他的子集。
中国在1981年也有自己的编码称作 “国标”
也被称作“分区码”。有94行94列。
然后就有了GBK,像百度的GB2312就是它的子集。

补充一下,现在的XML和HTML的标准编码是UTF-8

如果真的发现网页显示乱码了,如何确定它是不是编码引起的呢?我教您一个简单的方法。




首先,在页面上点击鼠标右键,移动到“编码”一项,右边出现一个菜单,看圆点的位置判断当前浏览器的编码查看模式。

Firefox浏览器的编码方式查看是在“菜单栏——查看——字符编码”中。

其次,确定网页的编码模式。在浏览器中点击鼠标右键,在菜单中选择“查看源代码”,然后找到前几行中的一段代码:

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

这行代码就是对网页编码的定义,gb2312是简体中文的编码,如果浏览器的解析编码是utf-8,而页面的编码确实gb2312,网页乱码必然出现。

所以我们在上网的时候尽量避免汉字的输入。
各大网站的编码不一样,这也是很正常的。
英文的一般是UTF-8
中国的是GB2312
或者是ISO

这些都是看网上的一些博客的理解以及百度百科的理解,如有不对
恳请指正。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: