为什么乱码:<meta http-equiv="content-type">前的非ANSI字符

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

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

  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. BOM(Byte Order Mark).
  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之前是个好习惯,但下图中的绿色字体中文注释会导致部分浏览器不再继续检测字符集:

  

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

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

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

为什么乱码:<meta http-equiv="content-type">前的非ANSI字符的更多相关文章

  1. 转 :meta name的含义:<META http-equiv=Content-Type content="text/html; charset=gb2312">

    meta是什么?meta其实是html语言head区的一个辅助性标签.在几乎所有的网页里,我们都可以看到类似下面这段html代码:<META http-equiv=Content-Type co ...

  2. html清屏 meta http-equiv="refresh" content="3">

    <meta http-equiv="refresh" content="3"> 什么意思? <meta http-equiv="re ...

  3. 转 【<meta name="description" content=">】作用讲解

    今天在看别人写的网站代码,发现类似<meta name="Keywords" content="" >.<meta name="De ...

  4. <meta http-equiv="refresh" content="3"> 什么意思?

    <meta http-equiv="refresh" content="3"> 什么意思?平常都是<meta http-equiv=" ...

  5. <META http-equiv=X-UA-Compatible content=IE=EmulateIE7>

    未来兼容性中的 META 标记和锁定 注意:本文档是预备文档,随时可能变更. 对于 Web 开发人员来说,文本兼容性是一个要考虑的重要问题.Windows Internet Explorer 8 引入 ...

  6. HTML——<meta http-equiv="content-type" content="text/html; charset=UTF-8">

    没有添加这句话的编码方式的话,很容易就乱码了 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&g ...

  7. < meta http-equiv = "X-UA-Compatible" content = "IE=edge,chrome=1" />的作用

    < meta http-equiv = "X-UA-Compatible" content = "IE=edge,chrome=1" /> 介绍:这 ...

  8. < meta http-equiv = "X-UA-Compatible" content = "IE=edge,chrome=1" />

    目录(?)[-] 1 meta http-equiv  X-UA-Compatible content  chrome1 1 meta http-equiv  X-UA-Compatible cont ...

  9. 详解< meta http-equiv = "X-UA-Compatible" content = "IE=edge,chrome=1" />

    < meta http-equiv = "X-UA-Compatible" content = "IE=edge,chrome=1" /> 这是个是 ...

随机推荐

  1. 分享8款最新HTML5/CSS3功能插件及源码下载

    1.HTML5/CSS3鬼脸表情下拉菜单 超级可爱 这款HTML5/CSS3鬼脸表情下拉菜单真的很特别,虽然菜单的实现并没有利用复杂的HTML5/CSS3技术,但是创意的确不错. 在线演示 源码下载 ...

  2. Http和Socket连接区别

    相信不少初学手机联网开发的朋友都想知道Http与Socket连接究竟有什么区别,希望通过自己的浅显理解能对初学者有所帮助. 1.TCP连接 要想明白Socket连接,先要明白TCP连接.手机能够使用联 ...

  3. 各个公司的来源/The etymology of company

    1.List of Company Etymology 下面的维基百科词条是比较有名的一些公司的名称的来源 List of company name etymologies 2.Atmel : adv ...

  4. javascript中的光标

    最近项目中要做一个键盘操作,光标移动的功能:增强用户体验:问朋友查资料了解到这方面的知识:整理备忘: 1.IE使用textRange对象,其他使用selectionStart selectionEnd ...

  5. Markdown 使用说明

    使用说明 ========= @[手册|帮助|Markdown] - **马克飞象**是一款专为印象笔记打造的Markdown编辑器. - 特别需要说明的一点是增加了`@(笔记本)[标签]`语法,以此 ...

  6. Ubuntu16.04.1 安装Redis-Cluster

    Redis在3.0版正式引入了集群这个特性.Redis集群是一个分布式(distributed).容错(fault-tolerant)的 Redis内存K/V服务, 集群可以使用的功能是普通单机 Re ...

  7. PHP+AJAX无刷新返回天气预报

    AjaxJavaScript天气预报php天气预报,用php来写一个天气预报的模块. 天气数据是通过采集中国气象网站的.本来中国天气网站也给出了数据的API接口.以下是API的地址.返回的数据格式为j ...

  8. How to change Form & Property & Report font for current User [AX2012]

    对于我们开发人员来说,系统默认的字体,本人实在不喜欢,尤其是属性字体[太小,太细,根本看不清],每次做一个新项目[AX2012]第一件事就是更改字体. 由于AX2012没有像AX2009那样,可以工具 ...

  9. pyQuery

    pyquery – PyQuery complete API 选择器基本支持jQuery用法 class pyquery.pyquery.PyQuery(*args, **kwargs) The ma ...

  10. Png图片的透明部分穿透测试

           private void Window_MouseMove(object sender, MouseEventArgs e){ NavBtnList.Clear(); Point mou ...