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