字符編碼是將字節轉換爲字符的一種方法。要驗證或顯示HTML文檔,程序必須選擇字符編碼。HTML 5作者有三種設置字符編碼的方法−
HTTP Content-Type Header
如果您正在編寫cgi或類似程序,則可以使用HTTPContent Typeheader設置任何字符編碼。
下面是一個簡單的例子−
print "Content-Type: text/html; charset=utf-8\r\n";
The <meta> element
您可以使用帶有字符集屬性的<meta>元素,該屬性指定HTML5文檔前512位元組內的編碼。
下面是一個簡單的例子−
<meta charset="UTF-8">
上面的語法取代了對<meta http equiv=「Content Type」Content=「text/html;charset=UTF-8」>的需要,儘管仍然允許使用該語法。
Unicode Byte Order Mark (BOM)
字節順序標記(BOM)由數據流開頭的字符代碼U+FEFF組成,在這裡,它可以用作定義字節順序和編碼形式的簽名,主要用於未標記的明文文件。
許多Windows程序(包括Windows記事本)在保存爲UTF-8的任何文檔的開頭添加字節0xEF、0xBB、0xBF。這是Unicode字節順序標記(BOM)的UTF-8編碼,通常稱爲UTF-8bom,即使它與字節順序無關。
對於HTML5文檔,您可以在文件的開頭使用Unicode字節順序標記(BOM)字符。此字符提供所用編碼的簽名。