字符集探测
维基百科,自由的百科全书
| 此條目或章节需要擴充,请協助改善这篇條目。(2010年10月16日) 更進一步的信息可能會在討論頁或扩充请求中找到。请在擴充條目後將此模板移除。 |
|
|
此条目或章节需要精通或熟悉本主题的专家参与编辑 請协助邀請適合的人士,或參照相關專業文獻,自行改善这篇条目。更多的細節與詳情請參见條目討論頁。 |
字符编码探测、字符集探测又稱為代码页检测是個启发式猜测代表文字的一系列字节的字符编码。其算法通常依据对字节样式的统计分析。这并不是一个万无一失的方法因为它依赖于统计数据——比如有些Windows operating system版本会误把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');
[编辑] 參考資料
[编辑] 相關
- en:International Components for Unicode - A library that can perform charset detection.
[编辑] 外部連結
- Frequency distributions of English trigraphs
- IMultiLanguage2::DetectInputCodepage
- API reference for ICU charset detection
- Mozilla Charset Detectors
- Java port of Mozilla Charset Detectors
|
|||||||||||||||||||||||||||||||||||||||||||||||