字符集探测 - Wikiwand
For faster navigation, this Iframe is preloading the Wikiwand page for 字符集探测.

字符集探测

维基百科,自由的百科全书

本条目存在以下问题,请协助改善本条目或在讨论页针对议题发表看法。 此条目需要扩充。 (2010年10月16日)请协助改善这篇条目,更进一步的信息可能会在讨论页或扩充请求中找到。请在扩充条目后将此模板移除。 此条目需要精通或熟悉相关主题的编者参与及协助编辑。 (2010年10月16日)请邀请适合的人士改善本条目。更多的细节与详情请参见讨论页。

字符编码探测字符集探测又称为代码页检测是个启发式猜测代表文字的一系列字节的字符编码。其算法通常依据对字节样式的统计分析。这并不是一个万无一失的方法因为它依赖于统计数据——比如有些Windows版本会误把ASCII编码的"Bush hid the facts"当作中文UTF-16LE

为数不多的能可靠探测的情况之一是探测UTF-8。这是因为UTF-8中有大量的无效字节序列,所以当其他编码方式使用字节中的高位bit时不可能通过UTF-8有效性测试。不幸的是不完善的字符集探测程序不优先进行可靠的UTF-8测试于是把UTF-8定为其他编码。

其它的编码识别方式

由于字符集探测的不可靠,所以通常是用属性标签去注明是用何种编码。[1]

在HTML的<head></head>区块里

例如在HTML文件中使用一个meta element去标示出编码种类: 在HTML5使用

 <meta charset="utf-8" />

相当于HTML4使用

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

也可以在HTTP传输文件时,在HTTP档头里使用Content-type通知给浏览器知道使用何种编码,以使浏览器能正确的显示出内容。[2]

在asp输出页面前使用
 Response.Charset="utf-8"

相当于使用

 Response.AddHeader "Content-Type", "text/html;charset=utf-8"
JSP输出页面前使用
 <%@ page contentType="text/html; charset=utf-8" %>
PHP输出页面前使用
 header('Content-type: text/html; charset=utf-8');

参考资料

相关

外部链接

{{bottomLinkPreText}} {{bottomLinkText}}
字符集探测
Listen to this article