एचटीएमएल में 'charset' एलान मौजूद नहीं है या बहुत देर से सेट किया गया है

सर्वर और ब्राउज़र, इंटरनेट पर डेटा के बाइट भेजकर एक-दूसरे से कम्यूनिकेट करते हैं. अगर सर्वर, एचटीएमएल फ़ाइल भेजते समय यह नहीं बताता है कि वह किस कैरेक्टर एन्कोडिंग फ़ॉर्मैट का इस्तेमाल कर रहा है, तो ब्राउज़र को यह पता नहीं चलेगा कि हर बाइट किस कैरेक्टर को दिखाता है. कैरेक्टर एन्कोडिंग सेट करने की सुविधा से यह समस्या हल हो जाती है.

Lighthouse charset ऑडिट कैसे पूरा नहीं होता

Lighthouse उन पेजों को फ़्लैग करता है जिनमें कैरेक्टर एन्कोडिंग के बारे में नहीं बताया गया है:

वर्ण एन्कोडिंग की ऑडिट में गड़बड़ी हुई है.

Lighthouse, कैरेक्टर एन्कोडिंग को तब 'डिक्लेयर किया गया' मानता है, जब उसे इनमें से कोई भी चीज़ मिलती है:

  • दस्तावेज़ के <head> में मौजूद <meta charset> एलिमेंट, जो दस्तावेज़ के शुरुआती 1024 बाइट में पूरी तरह से शामिल हो
  • Content-Type charset डायरेक्टिव वाला एचटीटीपी रिस्पॉन्स हेडर, जो आईएनएएनए के मान्य नाम से मेल खाता हो
  • बाइट-ऑर्डर मार्क (बीओएम)

charset ऑडिट पास करने का तरीका

अपने एचटीएमएल में <meta charset> एलिमेंट जोड़ना

अपने एचटीएमएल दस्तावेज़ के पहले 1024 बाइट में <meta charset> एलिमेंट जोड़ें. यह एलिमेंट, शुरुआती 1024 बाइट में पूरी तरह से शामिल होना चाहिए. सबसे सही तरीका यह है कि <meta charset> एलिमेंट को अपने दस्तावेज़ के <head> में पहला एलिमेंट बनाया जाए.

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

Content-Type एचटीटीपी रिस्पॉन्स हेडर जोड़ना

अपने सर्वर को कॉन्फ़िगर करें, ताकि वह Content-Type एचटीटीपी रिस्पॉन्स हेडर जोड़ सके. इसमें charset डायरेक्टिव शामिल होता है.

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

संसाधन