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

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

लाइटहाउस charset ऑडिट कैसे फ़ेल होता है

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

कैरेक्टर एन्कोडिंग ऑडिट में गड़बड़ी.

अगर लाइटहाउस को इनमें से कुछ भी मिलता है, तो वह कैरेक्टर एन्कोडिंग को तय करता है:

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

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

संसाधन