कैरेक्टर एनकोडिंग बाइट्स को कैरेक्टर्स में बदलने की एक विधि है। HTML दस्तावेज़ को मान्य या प्रदर्शित करने के लिए, एक प्रोग्राम को एक कैरेक्टर एनकोडिंग चुननी होगी। HTML5 लेखकों के पास कैरेक्टर एनकोडिंग सेट करने के तीन साधन हैं:
HTTP Content-Type हेडर
यदि आप CGI या इसी तरह का प्रोग्राम लिख रहे थे तो आप किसी भी कैरेक्टर एनकोडिंग को सेट करने के लिए HTTP Content-Type हेडर का उपयोग करेंगे।
print "Content-Type: text/html; charset=utf-8\r\n";
<meta> एलिमेंट
आप HTML5 दस्तावेज़ के पहले 512 बाइट्स के भीतर एनकोडिंग निर्दिष्ट करने वाले चार्सेट एट्रिब्यूट के साथ एक <meta> एलिमेंट का उपयोग कर सकते हैं।
<meta charset="UTF-8">
यूनिकोड बाइट ऑर्डर मार्क (BOM)
एक बाइट ऑर्डर मार्क (BOM) में डेटा स्ट्रीम की शुरुआत में कैरेक्टर कोड U+FEFF होता है, जहां इसका उपयोग बाइट ऑर्डर और एनकोडिंग फॉर्म को परिभाषित करने वाले हस्ताक्षर के रूप में किया जा सकता है, मुख्य रूप से अनमार्क्ड प्लेनटेक्स्ट फाइलों के लिए।