অক্ষর ঘোষণা অনুপস্থিত বা HTML-এ খুব দেরিতে ঘটে

সার্ভার এবং ব্রাউজার ইন্টারনেটের মাধ্যমে ডেটার বাইট পাঠিয়ে একে অপরের সাথে যোগাযোগ করে। যদি সার্ভার একটি HTML ফাইল পাঠানোর সময় নির্দিষ্ট করে না দেয় যে এটি কোন ক্যারেক্টার এনকোডিং ফরম্যাট ব্যবহার করছে, তাহলে ব্রাউজার বুঝতে পারবে না যে প্রতিটি বাইট কোন ক্যারেক্টারকে প্রতিনিধিত্ব করছে। ক্যারেক্টার এনকোডিং ডিক্লারেশন স্পেসিফিকেশন এই সমস্যার সমাধান করে।

লাইটহাউস charset অডিট কীভাবে ব্যর্থ হয়

লাইটহাউস সেইসব পৃষ্ঠাকে চিহ্নিত করে যেগুলিতে তাদের ক্যারেক্টার এনকোডিং নির্দিষ্ট করা থাকে না:

ব্যর্থ ক্যারেক্টার এনকোডিং অডিট।

লাইটহাউস নিম্নলিখিতগুলির মধ্যে যেকোনো একটি খুঁজে পেলে ক্যারেক্টার এনকোডিংটিকে ঘোষিত বলে বিবেচনা করে:

  • ডকুমেন্টের <head> অংশে থাকা একটি <meta charset> এলিমেন্ট, যা ডকুমেন্টের প্রথম ১০২৪ বাইটের মধ্যে সম্পূর্ণরূপে অন্তর্ভুক্ত থাকে।
  • একটি Content-Type HTTP রেসপন্স হেডার, যার charset ডিরেক্টিভটি একটি বৈধ IANA নামের সাথে মেলে।
  • একটি বাইট-অর্ডার মার্ক (BOM)

charset অডিট কীভাবে পাস করবেন

আপনার HTML-এ একটি <meta charset> এলিমেন্ট যোগ করুন।

আপনার HTML ডকুমেন্টের প্রথম ১০২৪ বাইটের মধ্যে একটি <meta charset> এলিমেন্ট যোগ করুন। এলিমেন্টটি অবশ্যই প্রথম ১০২৪ বাইটের মধ্যেই সম্পূর্ণরূপে থাকতে হবে। সবচেয়ে ভালো পদ্ধতি হলো, আপনার ডকুমেন্টের <head> অংশের প্রথম এলিমেন্ট হিসেবে <meta charset> এলিমেন্টটি ব্যবহার করা।

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    …

একটি Content-Type HTTP প্রতিক্রিয়া হেডার যোগ করুন

আপনার সার্ভারকে এমনভাবে কনফিগার করুন যাতে এটি একটি Content-Type HTTP রেসপন্স হেডার যোগ করে, যাতে একটি charset ডিরেক্টিভ অন্তর্ভুক্ত থাকে।

Content-Type: text/html; charset=UTF-8

সম্পদ