博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
为什么乱码:<meta http-equiv="content-type">前的非ANSI字符
阅读量:6449 次
发布时间:2019-06-23

本文共 1008 字,大约阅读时间需要 3 分钟。

2011/12/31

浏览器检测网页字符集的默认顺序

浏览器的网页字符集检测顺序通常是:

  1. charset parameter in HTTP Content-type header.
  2. <meta http-equiv="content-type"> element in the <head> of a web page for HTML documents.
  3. .
  4. Auto-detect the character encoding as a last resort.

注解一:HTTP Content-Type header 如果指定了 charset 的话,优先级高于 HTML 文档里<meta http-equiv="content-type">中的charset声明

注解二:如果HTTP Content-Type Header没有指定 charset ,而html文档的<meta http-equiv="content-type">之前有非ANSI字符,有可能此meta标签就不会解析,切记,2005年的Blogger.com就曾出现过此问题。如下图所示,此meta标签保持在title之前是个好习惯,但下图中的绿色字体中文注释会导致部分浏览器不再继续检测字符集:

http://images.cnblogs.com/cnblogs_com/zhengyun_ustc/255879/o_TM%E6%88%AA%E5%9B%BE%E6%9C%AA%E5%91%BD%E5%90%8D.png  

注解三:第二步后,如果还没有明确指定字符集,那么浏览器就暂时采用默认字符集。如IE中文版的默认值是GB2312,Firefox中文版的默认值是GBK。

 

一些浏览器(如IE内核低版本浏览器)因meta之前有中文导致无法解析,会用默认字符集GB2312来解析该网页,于是渲染之后你看到的就是这种乱码:

 http://images.cnblogs.com/cnblogs_com/zhengyun_ustc/255879/o_TM%E6%88%AA%E5%9B%BE%E6%9C%AA%E5%91%BD%E5%90%8D2.png

即,当你能看到明显是乱码的汉字或方块字排列,八成是浏览器把UTF-8文档当成GB2312解析了。

 

我的推特流:

1、

《网曝3家银行过亿用户数据泄露》——人们很快发现曝光用户密码泄漏有助于唤醒休眠用户,开心啊,年终总结报告这下好写了。

2、

张俊林博士的新书《这就是搜索引擎:核心技术详解 》,亚马逊价格39.60元,光看目录就让人眼馋,不同纬度的N多算法。比如第6章的链接分析。

3、

说个段子,N年前的一天,我坐俊林旁边办公,想查一下现在主流的文章去重算法有哪些,于是Google了一把,翻了若干文献后,突然看到一篇极精彩的,深入浅出,评语精妙,心想:人才啊,赶紧看看这谁写的...翻到最后,原来是张俊林。

4、

赠图1枚:

http://ww2.sinaimg.cn/large/3f7544d5tw1dob2crocs6j.jpg

 

转载地址:http://daowo.baihongyu.com/

你可能感兴趣的文章
常用DOS命令
查看>>
能上QQ上不了网的解决办法
查看>>
flask + Python3 实现的的API自动化测试平台---- IAPTest接口测试平台
查看>>
【翻译】将Ext JS Grid转换为Excel表格
查看>>
关于人工智能的几个问题
查看>>
个人阅读作业2
查看>>
解决百度上传WebUploader在IE浏览器下点击无反应的问题
查看>>
Oracle常用函数 - 字符函数
查看>>
Linux shell脚本的字符串截取
查看>>
Zendstudio导入项目报错:overlaps the location of another
查看>>
Shell 标准输入、输出和错误
查看>>
Cisco设备配置AAA认证!
查看>>
UDP怎么会返回Connection refused错误
查看>>
上海i虹桥机场点烟器与UNIX哲学
查看>>
3.1-find命令详解
查看>>
清算/报表/日终跑批程序之性能优化案例(一)
查看>>
线上svn快速服务器搭建
查看>>
导航栏带子导航菜单并且高亮
查看>>
openstack-12:安装cinder存储服务
查看>>
防火墙的基础知识
查看>>