ক্যারেক্টার এনকোডিং হলো বাইটকে ক্যারেক্টারে রূপান্তর করার একটি পদ্ধতি। একটি HTML ডকুমেন্ট ভ্যালিডেট বা ডিসপ্লে করতে, একটি প্রোগ্রাম অবশ্যই একটি ক্যারেক্টার এনকোডিং বেছে নিতে হবে। HTML5 লেখকদের ক্যারেক্টার এনকোডিং সেট করার তিনটি উপায় রয়েছে:
HTTP Content-Type Header
যদি আপনি CGI বা অনুরূপ প্রোগ্রাম লিখতেন, তবে আপনি যেকোনো ক্যারেক্টার এনকোডিং সেট করতে HTTP Content-Type হেডার ব্যবহার করতেন।
print "Content-Type: text/html; charset=utf-8\r\n";
<meta> এলিমেন্ট
আপনি HTML5 ডকুমেন্টের প্রথম ৫১২ বাইটের মধ্যে এনকোডিং নির্দিষ্ট করে একটি charset এট্রিবিউটসহ <meta> এলিমেন্ট ব্যবহার করতে পারেন।
<meta charset="UTF-8">
ইউনিকোড বাইট অর্ডার মার্ক (BOM)
একটি বাইট অর্ডার মার্ক (BOM) হলো ডেটা স্ট্রিমের শুরুতে ক্যারেক্টার কোড U+FEFF, যেখানে এটি বাইট অর্ডার এবং এনকোডিং ফর্ম সংজ্ঞায়িত করার একটি সিগনেচার হিসেবে ব্যবহৃত হতে পারে, رئيسيةভাবে অunmarked প্লেইনটেক্সট ফাইলগুলোর জন্য।