Character encoding เป็นวิธีแปลงไบต์เป็นตัวอักษร เพื่อ validate หรือแสดงเอกสาร HTML โปรแกรมต้องเลือก character encoding HTML5 authors มี 3 วิธีตั้งค่า:
HTTP Content-Type Header
หากเขียน CGI หรือโปรแกรมคล้ายๆ ให้ใช้ HTTP Content-Type header ตั้งค่า character encoding ใดๆ
print "Content-Type: text/html; charset=utf-8\r\n";
The <meta> element
ใช้ <meta> element พร้อมแอตทริบิวต์ charset ระบุ encoding ภายใน 512 ไบต์แรกของเอกสาร HTML5
<meta charset="UTF-8">
Unicode Byte Order Mark (BOM)
Byte order mark (BOM) ประกอบด้วย character code U+FEFF ที่จุดเริ่มต้นของ data stream ใช้เป็น signature กำหนด byte order และ encoding form 主要ของ plaintext ไฟล์ที่ไม่มีเครื่องหมาย