关于烦躁的网页编码问题utf-8,gb2312。终于自己实践了一遍
俗话说实践是检验真理的唯一标准,的确如此。
自己一直比较懒,虽然觉得大牛应该一个记事本全部搞定,但自己还是喜欢用Dw或者Vs写好网页的架构,因为总觉得用notepad还要自己导入声明,而gVim还没有用顺手,于是今天在down了一个国外的jQuery设计后,自己加以修改,问题就出现了。
down下来的文档charset=utf-8,于是我手贱的自己修改成为了gb2312,结果杯具就来了,自己添加的所有中文全部乱码,心中怒火一下就烧起,以前也遇到过编码问题,但每次都把文字调整正确后就不究其原因了,但是今天实在忍无可忍,就花了一下午时间,自己琢磨了一下这个问题,现在算有点收获。
先讲解一下记事本另存为的四个编码方式。
1.ANSI(默认):中文环境下的ANSI编码方式即我们熟悉的GB2312
2.Unicode:即UTF-16
3.Unicode big endian:弄了半天还是不懂,只知道是和UTF在编码时有顺序区别。
4.UTF-8:大名鼎鼎的国际通用UTF-8,个人觉得应该是趋势。因为在web这个环境,样式可以个性,千变万化,但规则应该做到统一.
测试环境:Firefox,IE,Chrome,Opera。
首先我新建了六个html页面,全部用notepad来建立。选择GB2312(即ANSI)和UTF-8两种保存方式作为测试.
1.用GB2312保存(ANSI)且声明charset=GB2312。
结果:正常显示.
2.用GB2312保存(ANSI)且声明charset=UTF-8。
结果:乱码.
3.用UTF-8保存且声明charset=UTF-8。
结果:正常显示.
4.用UTF-8保存且声明charset=GB2312。
结果:其他正常显示,只有Firefox乱码。
5.用GB2312保存(ANSI),但不声明charset。
结果:正常显示.
6.用UTF-8保存,但不声明charset。
结果:正常显示.
总结:我认为charset属性是定义给浏览器接受的,浏览器将直接用从charset接收到的编码方式显示网页,如果不声明,浏览器会检测页面的编码方式。第四点比较特别,用UTF-8保存但声明charset=GB2312后,查看浏览器的编码方式均自动改为为UTF-8,只有Firefox是GB2312,这里我猜测应该是因为Firefox自身只检测charset属性的关系,其他浏览器应该要检测编码方式和charset方属性。
总体来说,要保持两者的一致性。
另外一些网站也是两种声明都有,百度,QQ都是charset=GB2312,Google,CSDN都是UTF-8,我想这就是差距吧。。。
哈哈哈哈 ^_^
关于烦躁的网页编码问题utf-8,gb2312。终于自己实践了一遍的更多相关文章
- windows phone 7,sliverlight 下载网页的解析,关于wp7 gb2312编码
原文:windows phone 7,sliverlight 下载网页的解析,关于wp7 gb2312编码 关于silverlight和wp7(windows phone 7)是默认不支持gb2312 ...
- [Python网络编程]gevent httpclient以及网页编码
之前看到geventhttpclient这个项目,https://github.com/gwik/geventhttpclient,官方文档说非常快,因为响应使用了C的解析,所以我一直想把这玩意用到项 ...
- spider JAVA如何判断网页编码 (转载)
原文链接 http://www.cnblogs.com/nanxin/archive/2013/03/27/2984320.html 前言 最近做一个搜索项目,需要爬取很多网站获取需要的信息.在爬取网 ...
- 浏览器正确理解和使用GBK及UTF-8(UTF-8 + BOM)网页编码
网页编码英文译为web page encoding.是在网页中指定其特定的字符编码格式的库. GBK是国家标准GB2312基础上扩容后兼容GB2312的标准. GBK的文字编码是用双字节来表示的.即不 ...
- HTML实体与网页编码(汉字转化为了html实体) .
http://blog.csdn.net/f438952359/article/details/7481267 HTML实体与网页编码(汉字转化为了html实体) . htmlencodingfunc ...
- 解决Chrome网页编码显示乱码的问题
解决Chrome网页编码显示乱码的问题 记得在没多久以前,Google Chrome上面出现编码显示问题时,可以手动来调整网页编码问题,可是好像在Chrome 55.0版以后就不再提供手动调整编码,所 ...
- Linux apache让网页编码错误
今天帮一个小伙伴搞作业,遇到安装discuz乱码问题,就顺便在这里写一下,以供其他同学纠正. 开apache配置文件/etc/httpd/conf/httpd.conf 查找AddDefaultCha ...
- 【真相揭秘】requests获取网页编码乱码本质
有没有被网页编码抓狂,怎么转都是乱码. 通过查看requests源代码,才发现是库本身历史原因造成的. 作者是严格http协议标准写这个库的,<HTTP权威指南>里第16章国际化里提到,如 ...
- C#获取文本文件的编码,自动区分GB2312和UTF8
C# 获取文本文件的编码,自动区分GB2312和UTF8 以下是获取文件编码的一个类 using System; using System.IO; using System.Text; /// < ...
随机推荐
- Redis数据结构之sorted-set
一:介绍 1.说明 与set的主要区别 sorted-set中的成员需要一个分数,分数可以重复的. 位置是有序的 二:Redis客户端 1.添加 如果key已经存在,再次添加一个key相同的,但是分部 ...
- Java中九大内置对象
1.Request对象 该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以获取用户提交的信息. 当Request对象获取客户提交的汉字字符时,会出现乱码问题 ...
- mac电脑对ntfs格式硬盘进行写操作(简单说就是向ntfs硬盘拷贝东西)
使用mac电脑的童鞋应该都会遇到一个问题: 对ntfs格式的优盘或硬盘(移动硬盘默认ntfs)只能读不能写,也就是只能拷贝出数据,却没法拷贝数据到移动硬盘中. 下面是参考自网上的一种方法,无需第三方软 ...
- 算法进阶面试题06——实现LFU缓存算法、计算带括号的公式、介绍和实现跳表结构
接着第四课的内容,主要讲LFU.表达式计算和跳表 第一题 上一题实现了LRU缓存算法,LFU也是一个著名的缓存算法 自行了解之后实现LFU中的set 和 get 要求:两个方法的时间复杂度都为O(1) ...
- class.forName的作用?
调用该访问 返回一个以字符串指定类名的类的对象. 返回字节码,返回字节码的方式有几种: ①:这份字节码曾经被加载过已经存在java虚拟机中了直接返回. ②:java虚拟机中还没有这份字节码,用类加载器 ...
- BZOJ.4555.[HEOI2016&TJOI2016]求和(NTT 斯特林数)
题目链接 \(Description\) 求\[\sum_{i=0}^n\sum_{j=0}^iS(i,j)\times 2^j\times j!\mod 998244353\] 其中\(S(i,j) ...
- 洛谷P3373 [模板]线段树 2(区间增减.乘 区间求和)
To 洛谷.3373 [模板]线段树2 题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数加上x 2.将某区间每一个数乘上x 3.求出某区间每一个数的和 输入输出格式 输入格 ...
- 潭州课堂25班:Ph201805201 爬虫高级 第五课 sclapy 框架 日志和 settings 配置 模拟登录(课堂笔记)
当要对一个页面进行多次请求时, 设 dont_filter = True 忽略去重 在 scrapy 框架中模拟登录 创建项目 创建运行文件 设请求头 # -*- coding: utf-8 ...
- js实现截取或查找字符串中的子字符串
获取 答案: var string0="sss.sscdyfasdfdgfg";//sscdy获取 ,); 答案是采用substr方法. 定义和用法:substr方法用于返回一个从 ...
- Zookeeper学习笔记——2 Shell和Java API的使用
ZooKeeper的使用一般都接触不到,因为平时工作甚少直接使用ZK.但是通过手动操作一下ZK,还是能对其中的门道了解各一二. shell 常用命令 help 查看所有支持的命令 [zk: local ...