<मेटा चारसेट = "utf-8"> बनाम <मेटा http-equiv = "सामग्री-प्रकार">


1535

एचटीएमएल 5 सिद्धांत के लिए चारसेट को परिभाषित करने के लिए , मुझे किस संकेतन का उपयोग करना चाहिए?

  1. कम:

    <meta charset="utf-8" /> 
  2. लंबा:

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

94
सामग्री-प्रकार और एन्कोडिंग जैसी किसी चीज़ के लिए <meta> टैग का उपयोग करना अत्यधिक विडंबनापूर्ण है, क्योंकि उन चीजों को जाने बिना, आप मेटा टैग का मान प्राप्त करने के लिए फ़ाइल को पार्स नहीं कर सकते।
मार्क

321
आप इसे ASCII के रूप में पार्स कर सकते हैं जब तक कि आप उस तक नहीं पहुंच जाते। HTML5 पार्सिंग एल्गोरिथ्म इसे ध्यान में रखता है।
क्वेंटिन

41
ध्यान दिया जाना चाहिए कि जब पृष्ठ को वेब पर परोसा जाता है तो न तो इसका उपयोग पार्सिंग के लिए किया जाता है। इसके बजाय, HTTP Content-Typeप्रतिक्रिया शीर्षलेख में से एक का उपयोग किया जाएगा। मेटा टैग का उपयोग केवल तब किया जाता है जब पृष्ठ को स्थानीय डिस्क फ़ाइल सिस्टम से लोड किया जाता है।
बालूसीक

38
मेटा एलिमेंट का उपयोग HTTP पर कुछ शर्तों के साथ किया जाता है (जिसमें डेटा का अभाव HTTP हेडर में हो रहा है)
Quentin

78
यह भी विडंबना है कि इसे चारसेट नाम दिया गया है, जब यह वास्तव में एन्कोडिंग को निर्दिष्ट करने के लिए है। (चारपाई यूनिकोड है, एन्कोडिंग UTF-8 है)
रयान

जवाबों:


1084

HTML5 में, वे बराबर हैं। छोटे का उपयोग करें, यह याद रखना और टाइप करना आसान है। ब्राउज़र समर्थन ठीक है क्योंकि यह पीछे की संगतता के लिए डिज़ाइन किया गया था।


23
ब्राउज़र समर्थन के बारे में क्या? <meta charset='utf-8'>IE6 में काम करता है ?
13इम विद

11
जहाँ तक मुझे पता है, हाँ।
क्वेंटिन

4
यहां Google कोड पृष्ठ के लिए एक अद्यतन लिंक दिया गया है, जिसका @ asime Vidas ने उल्लेख किया है। यह कहता है, IE 6, 7, और 8 के बारे में, "गैर-IE ब्राउज़रों में, आप document.characterSet का उपयोग कर सकते हैं। IE में, आप सोच सकते हैं कि आप document.getElementsByTagName ('मेटा') [0] .charset, लेकिन यह कर सकते हैं। केवल आपके द्वारा निर्दिष्ट वर्ण एन्कोडिंग को लौटाता है, न कि एन्कोडिंग जिसका वास्तव में IE उपयोग कर रहा है। "
hotshot309

7
मुझे पता है कि यह थ्रेड पुराना है, लेकिन gtmetrix.com/specify-a-character-set-early.html<meta> कैरेक्टर एन्कोडिंग का उपयोग करके इंगित करता है कि IE8 में लुकहेड डाउनलोडर को निष्क्रिय करता है, जो आपके पृष्ठ लोड समय को प्रभावित कर सकता है। हाँ, हाँ, मुझे पता है ... ड्रॉप IE8। @ MészárosLajos दो साल में यहाँ वापस आ सकते हैं और अभी भी IE8 का समर्थन करने के लिए हमारी गेंदों का भंडाफोड़ कर सकते हैं। ;-)
erturne

3
आज मेरे पास एक मुद्दा था जहां IE11 में कोरियाई प्रतीक दिखाई नहीं दे रहे थे। छोटी वाक्य रचना को लंबे समय तक वाक्य रचना के पक्ष में छोड़ने से समस्या ठीक हो जाती है। मुझे नहीं पता कि यह किसी प्रकार के सर्वर कॉन्फिग के कारण है या यदि यह IE11 और चारसेट के साथ कोई समस्या है। सटीक प्रतीक संयोजन यह विफल हो रहा था was।
जेम्स डोनली

250

मेटा चारसेट डिक्लेरेशन के दोनों रूप समतुल्य हैं और सभी ब्राउज़रों में समान काम करने चाहिए। लेकिन, आपकी वेब फ़ाइलों को UTF-8 के रूप में सेट करते समय कुछ बातें याद रखने की आवश्यकता है:

  1. यूटीएफ -8 एन्कोडिंग के बिना अपनी फाइल (एस) को बाइट-ऑर्डर मार्क (बीओएम) के बिना सहेजें ।
  2. मेटा चारसेट (ऊपर की तरह) का उपयोग करके अपनी HTML फ़ाइलों में एन्कोडिंग की घोषणा करें ।
  3. आपके वेब सर्वर को सामग्री-प्रकार HTTP शीर्ष लेख में UTF-8 एन्कोडिंग की घोषणा करते हुए, आपकी फ़ाइलों की सेवा करनी चाहिए

अपाचे सर्वरों को डिफ़ॉल्ट रूप से ISO-8859-1 में फाइल सर्व करने के लिए कॉन्फ़िगर किया गया है, इसलिए आपको अपनी .htaccessफाइल में निम्नलिखित लाइन जोड़ने की जरूरत है :

AddDefaultCharset UTF-8

यह सामग्री-प्रकार प्रतिक्रिया शीर्ष लेख में UTF-8 एन्कोडिंग की घोषणा करने वाली आपकी फ़ाइलों की सेवा करने के लिए Apache को कॉन्फ़िगर करेगा, लेकिन आपकी फ़ाइलों को शुरू करने के लिए UTF-8 (BOM के बिना) में सहेजा जाना चाहिए।

नोटपैड बिना BOM के आपकी फ़ाइलों को UTF-8 में सहेज नहीं सकता है। एक निशुल्क संपादक जो नोटपैड ++ है । प्रोग्राम मेन्यू बार पर, "एनकोडिंग> एनकोड इन यूटीएफ -8 विदाउट बीओएम" चुनें। आप "एनकोडिंग> कन्वर्ट बिना यूटीएफ -8 में बीओएम" का उपयोग करके भी यूटीएफ -8 में फाइलें खोल सकते हैं और उन्हें फिर से सहेज सकते हैं।

अधिक पर विकिपीडिया पर बाइट आदेश मार्क (बीओएम)


20
@ कोडबॉय मैं आपके उत्तर को यह कहते हुए संशोधित करूंगा कि "आपको बचना चाहिए ... बिना बीओएम के।" निम्नलिखित पृष्ठ कहते हैं, "... यह आम तौर पर छोड़ अंतर बीओएम के लिए सबसे अच्छा है ..." एक सबसे अच्छा अभ्यास है, लेकिन नहीं एक आवश्यकता का संकेत: w3.org/International/questions/qa-byte-order-mark
जोहान

3
IIS में आप HTTP हेडर में चार अक्षरों को सेट कर सकते हैं <वैश्वीकरण fileEncoding = "utf-8" responseEncoding = "utf-8" /> Web.Config में - इसे <
system .web

3
जैसा कि मैं चीजों को समझता हूं, अगर आप हमारे बिना बीओएम के साथ बचत करते हैं तो यह बिल्कुल भी मायने नहीं रखता है।
डेविड David वोंग

3
आप यह क्यों कहते हैं कि UTF-8 HTML बिना BOM के होनी चाहिए। BOM होने पर ठीक काम करना चाहिए। इसके अलावा, आप की जरूरत नहीं है metaऔर एक HTTP हेडर। आपको बस BOM metaया HTTP हैडर में से एक की आवश्यकता है ।
9

5
Summing up: don't use BOM for UTF-8मैं इससे सहमत नहीं हो सकता। एन्कोडिंग प्रकार को संकेत देने के लिए UTF-8 में BOM बहुत उपयोगी है। अन्यथा हमें अनुमान लगाना होगा या मेटा टैग जैसी चीजों का उपयोग करना होगा जो इस प्रश्न को संदर्भित करता है। BOM के बारे में अच्छी बात यह है कि यह यूनिकोड युक्ति का हिस्सा है और इस प्रकार इसका उपयोग केवल HTML ही नहीं, बल्कि यूनिकोड में एन्कोड किए गए सभी डेटा के लिए भी किया जा सकता है। हमें हर जगह BOMs का उपयोग करना चाहिए , विरासत सॉफ़्टवेयर को उस पर उड़ने दें, उन बगों की रिपोर्ट करें और उन्हें ठीक करें।
स्टिजन डे विट

82

शॉर्ट के साथ जाने का एक और कारण यह है कि यह अन्य उदाहरणों से मेल खाता है जहां आप मार्कअप में निर्धारित वर्ण निर्दिष्ट कर सकते हैं। उदाहरण के लिए:

<script type="javascript" charset="UTF-8" src="/script.js"></script>

<p><a charset="UTF-8" href="http://example.com/">Example Site</a></p>

संगति त्रुटियों को कम करने और कोड को अधिक पठनीय बनाने में मदद करती है।

ध्यान दें कि चारसेट विशेषता केस-असंवेदनशील है। आप UTF-8 या utf-8 का उपयोग कर सकते हैं, हालाँकि UTF-8 अधिक स्पष्ट, अधिक पठनीय, अधिक सटीक है।

इसके अलावा, मेटा चार्सेट विशेषता या पृष्ठ शीर्ष लेख में UTF-8 के अलावा किसी भी मान का उपयोग करने के लिए बिल्कुल कोई कारण नहीं है। 1999 में HTML4 के बाद से वेब दस्तावेज़ों के लिए UTF-8 डिफ़ॉल्ट एन्कोडिंग है और आधुनिक वेब पेज बनाने का एकमात्र व्यावहारिक तरीका है।

इसके अलावा, आपको UTF-8 में HTML संस्थाओं का उपयोग नहीं करना चाहिए। कॉपीराइट प्रतीक जैसे वर्ण सीधे टाइप किए जाने चाहिए। 5 आरक्षित मार्कअप वर्णों के लिए आपके द्वारा उपयोग की जाने वाली एकमात्र इकाइयाँ हैं: से कम, एम्परसेंड, प्राइम, डबल प्राइम। संस्थाओं को एक HTML पार्सर की आवश्यकता होती है, जिसे आप हमेशा आगे जाने के लिए उपयोग नहीं करना चाहते हैं, वे त्रुटियां पेश करते हैं, आपके कोड को कम पठनीय बनाते हैं, आपकी फ़ाइल का आकार बढ़ाते हैं, और कभी-कभी विभिन्न ब्राउज़रों में गलत तरीके से डिकोड करते हैं जो आपके द्वारा उपयोग की गई संस्थाओं के आधार पर होता है। कॉपीराइट, ट्रेडमार्क, खुली बोली, नज़दीकी बोली, एपोस्ट्रोफ़, एम डैश, एन डैश, बुलेट, यूरो, और आपके सामग्री में आपके द्वारा सामना किए जाने वाले किसी भी अन्य वर्ण को टाइप / सम्मिलित करना सीखें, और अपने कोड में उन वास्तविक पात्रों का उपयोग करें। मैक में एक कैरेक्टर व्यूअर है जिसे आप कीबोर्ड सिस्टम वरीयता में बदल सकते हैं, और आप पा सकते हैं और फिर उन वर्णों को खींच सकते हैं और छोड़ सकते हैं जिनकी आपको ज़रूरत है, या मिलान करने वाले कीबोर्ड व्यूअर का उपयोग करके देख सकते हैं कि कौन सी कुंजी टाइप करनी है। उदाहरण के लिए, ट्रेडमार्क विकल्प + 2 है। UTF-8 में हर लिखित मानव भाषा के सभी अक्षर और चिन्ह शामिल हैं। तो वहाँ का उपयोग करने के लिए कोई बहाना नहीं है - बजाय उन्हें एक पानी का छींटा। विराम चिह्न और टाइपोग्राफी के नियमों को भी सीखना बुरा नहीं है ... उदाहरण के लिए, यह जानना कि एक अवधि एक करीबी उद्धरण के अंदर जाती है, बाहर नहीं।

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

नहीं, यह सच नहीं है। ब्राउज़र फ़ाइल को ब्राउज़र के डिफ़ॉल्ट एन्कोडिंग के रूप में पार्स करना शुरू कर देता है, या तो UTF-8 या ISO-8859-1। चूंकि US-ASCII ISO-8859-1 और UTF-8 दोनों का एक उपसमूह है , इसलिए ब्राउज़र ठीक तरह से पढ़ सकता है ... यह एक ही है। जब ब्राउज़र मेटा चारसेट टैग का सामना करता है, यदि एन्कोडिंग ब्राउज़र के पहले से उपयोग किए जा रहे से अलग है, तो ब्राउज़र निर्दिष्ट एन्कोडिंग में पृष्ठ को पुनः लोड करता है। यही कारण है कि हम मेटा टैगसेट टैग को शीर्ष पर रखते हैं, हेड टैग के ठीक बाद, कुछ भी करने से पहले, शीर्षक भी। इस तरह से आप अपने शीर्षक में UTF-8 वर्णों का उपयोग कर सकते हैं।

आपको अपनी फ़ाइल को बिना BOM के UTF-8 एन्कोडिंग में सहेजना होगा

यह कड़ाई से सच नहीं है। यदि आपके दस्तावेज़ में केवल US-ASCII वर्ण हैं, तो आप इसे US-ASCII के रूप में सहेज सकते हैं और UTF-8 के रूप में सेवा कर सकते हैं, क्योंकि यह एक सबसेट है। लेकिन अगर यूनिकोड वर्ण हैं, तो आप सही हैं, आपको बिना BOM के UTF-8 के रूप में सहेजना होगा।

यदि आप एक अच्छा टेक्स्ट एडिटर चाहते हैं जो UTF-8 में आपकी फ़ाइलों को बचाएगा, तो मैं नोटपैड ++ की सलाह देता हूं।

मैक पर, मैक ऐप स्टोर से नंगे हड्डियों के टेक्स्टवेलर (मुफ़्त), या नंगे हड्डियों के BBEdit का उपयोग करें, जो मैक ऐप स्टोर पर $ 39.99 के लिए है ... इस तरह के एक महान उपकरण के लिए बहुत सस्ता है। किसी भी ऐप में, दस्तावेज़ विंडो के नीचे एक मेनू होता है जहाँ आप दस्तावेज़ एन्कोडिंग निर्दिष्ट करते हैं और आप आसानी से "UTF-8 नो बीओएम" चुन सकते हैं। और निश्चित रूप से आप इसे प्राथमिकता में नए दस्तावेज़ों के लिए डिफ़ॉल्ट के रूप में सेट कर सकते हैं।

लेकिन अगर आपका वेबसर्वर HTTP हेडर में एन्कोडिंग का कार्य करता है, जिसकी सिफारिश की जाती है, दोनों [मेटा टैग] अनावश्यक हैं।

यह गलत है। आपको निश्चित रूप से HTTP शीर्ष लेख में एन्कोडिंग सेट करना चाहिए, लेकिन आपको इसे मेटा चारसेट विशेषता में भी सेट करना चाहिए ताकि पृष्ठ को उपयोगकर्ता द्वारा सहेजा जा सके, ब्राउज़र से बाहर स्थानीय भंडारण पर और फिर बाद में फिर से खोला, जिस स्थिति में एन्कोडिंग का एकमात्र संकेत मौजूद होगा जो मेटा चारसेट विशेषता है। आपको एक ही कारण के लिए एक आधार टैग भी सेट करना चाहिए ... सर्वर पर, आधार टैग अनावश्यक है, लेकिन जब स्थानीय भंडारण से खोला जाता है, तो आधार टैग पृष्ठ को काम करने में सक्षम बनाता है जैसे कि यह सर्वर पर है, सभी के साथ जगह में संपत्ति और इतने पर, कोई टूटी हुई लिंक नहीं।

AddDefaultCharset UTF-8

या आप केवल विशेष फ़ाइल प्रकारों के एन्कोडिंग को बदल सकते हैं जैसे:

AddType text/html;charset=utf-8 html

UTF-8 और लैटिन -1 (ISO-8859-1) दोनों फाइलों को परोसने के लिए एक टिप UTF-8 फाइलों को "टेक्स्ट" एक्सटेंशन और लैटिन -1 फाइल "txt" को देना है।

AddType text/plain;charset=iso-8859-1 txt
AddType text/plain;charset=utf-8 text

अंत में, यूनिक्स लाइन के अंत के साथ अपने दस्तावेज़ों को सहेजने पर विचार करें, न कि विरासत डीओएस या (क्लासिक) मैक लाइन के अंत में, जो मदद नहीं करते हैं और चोट लग सकती है, विशेषकर नीचे की रेखा के रूप में हम उन विरासत प्रणालियों से आगे और आगे बढ़ते हैं। मान्य HTML5, UTF-8 एन्कोडिंग और यूनिक्स लाइन अंत के साथ एक HTML दस्तावेज़ एक काम अच्छी तरह से किया गया है। आप साझा और संपादित कर सकते हैं और स्टोर कर सकते हैं और पढ़ सकते हैं और पुनर्प्राप्त कर सकते हैं और कई संदर्भों में उस दस्तावेज़ पर भरोसा कर सकते हैं। यह लिंगुआ फ्रेंका है। यह डिजिटल पेपर है।


20
"यदि आपके पास अपने दस्तावेज़ में केवल ISO-8859-1 वर्ण हैं, तो आप इसे ISO-8859-1 के रूप में सहेज सकते हैं और UTF-8 के रूप में सेवा कर सकते हैं, क्योंकि यह एक सबसेट है" - गलत। यदि आप "ISO-8859-1" को "US-ASCII" में बदलते हैं तो यह सही होगा। US-ASCII UTF-8 के साथ संगत है क्योंकि यह एक सबसेट है, ISO-8859-1 नहीं है। ISO-8859-1 (गैर-ASCII वर्णों) को UTF-8 में परिवर्तित करने के लिए, आपको गैर-ASCII वर्णों को एनकोड करना होगा। ISO-8859-1 के कोड कोड यूनिकोड में मौजूद हैं, लेकिन UTF-8 को US-ASCII के बाहर अलग-अलग तरीके से ISO-8859-1 के लिए एनकोड किया गया है।
थोमसट्रेटर

2
HTML संस्थाओं के बारे में आपकी बात अच्छी है। अतीत में, मैंने केवल यह पता लगाने के लिए संस्थाओं का उपयोग किया है कि वे विभिन्न प्रणालियों पर सहेजे जाने और / या अलग-अलग संपादकों में खोले जाने के बाद अपने UTF-8 वर्णों में परिवर्तित हो गए। हालांकि, यह ध्यान देने योग्य है कि गैर-ब्रेकिंग स्पेस (& nbsp;) भ्रामक परिणाम उत्पन्न कर सकते हैं क्योंकि आप आमतौर पर उन्हें अपने संपादक में नहीं देखेंगे इसलिए आमतौर पर स्पष्टता के लिए संस्थाओं के रूप में रखने के लिए सबसे अच्छा है (मेरे अनुभव में)।
स्क्वीड डे

"You should also set a base tag..."यहाँ वर्णित कैवेट के साथ आना चाहिए ।
मफुबा

एक और कारण आप HTML संस्थाओं को पसंद कर सकते हैं यदि आप आयनिकोंस जैसी किसी चीज़ का उपयोग कर रहे हैं । मैं बजाय &#xf101;डिफ़ॉल्ट ग्लिफ़, या कुछ अजीब चरित्र को देखता हूँ जिन्हें मैं नहीं पहचानता।
डैनियल लुबरोव

30

<meta charset="utf-8"> HTML5 के लिए / के साथ शुरू किया गया था।

जैसा कि प्रलेखन में उल्लेख किया गया है, दोनों ही मान्य हैं। हालाँकि, <meta charset="utf-8">केवल HTML5 के लिए है (और टाइप / याद रखना आसान है)।

नियत समय में, पुरानी शैली निकट भविष्य में पदावनत होने के लिए बाध्य है । मैं नए से चिपकूंगा <meta charset="utf-8">

केवल एक ही रास्ता है, लेकिन ऊपर। टेक के मामले में, यह पुराने (वास्तव में, तेजी से) चरणबद्ध है

दस्तावेज़ीकरण: HTML मेटा चारसेट एट्रीब्यूट- W3Schools


2
लिंक के बारे में, कृपया meta.stackoverflow.com/questions/280478/why-not-w3schools-com
tripleee

18

अन्य उत्तरों का चुनाव न करते हुए, मुझे लगता है कि निम्नलिखित उल्लेख करने योग्य है।

  1. "लंबी" ( http-equiv) संकेतन और "लघु" एक समान हैं, जो भी पहले जीतता है;
  2. वेब सर्वर हेडर सभी <meta>टैग को ओवरराइड करेगा ;
  3. BOM (बाइट ऑर्डर मार्क) सब कुछ को ओवरराइड करेगा , और कई मामलों में यह html 4 को प्रभावित करेगा (और शायद अन्य सामान, भी);
  4. यदि आप किसी एन्कोडिंग की घोषणा नहीं करते हैं, तो आप संभवतः अपने पाठ को "फ़ॉलबैक टेक्स्ट एन्कोडिंग" में प्राप्त करेंगे जो आपके ब्राउज़र को परिभाषित करता है। न तो फ़ायरफ़ॉक्स में और न ही क्रोम में यह utf-8 है;
  5. अन्य सुरागों की अनुपस्थिति में ब्राउज़र आपके दस्तावेज़ को पढ़ने का प्रयास करेगा जैसे कि एन्कोडिंग प्राप्त करने के लिए ASCII में था, इसलिए आप किसी भी अजीब एन्कोडिंग का उपयोग नहीं कर सकते हैं (बीओएम के साथ utf-16 को हालांकि, करना चाहिए);
  6. जबकि चश्मा कहता है कि एन्कोडिंग घोषणा दस्तावेज़ के पहले 512 बाइट्स के भीतर होनी चाहिए, अधिकांश ब्राउज़र इससे अधिक पढ़ने की कोशिश करेंगे।

आप echo 'HTTP/1.1 200 OK\r\nContent-type: text/html; charset=windows-1251\r\n\r\n\xef\xbb\xbf<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta charset="windows-1251"><title>привет</title></head><body>привет</body></html>' | nc -lp 4500अपने ब्राउज़र को चलाकर और इंगित करके परीक्षण कर सकते हैंlocalhost:4500 । (बेशक आप भागों को बदलना या निकालना चाहेंगे। BOM हिस्सा है \xef\xbb\xbf। अपने शेल के एन्कोडिंग से सावधान रहें)

कृपया ध्यान रखें कि यह बहुत महत्वपूर्ण है कि आप स्पष्ट रूप से एन्कोडिंग की घोषणा करें। ब्राउज़रों को अनुमान लगाने से सुरक्षा संबंधी समस्याएं हो सकती हैं।


1
अच्छे अंक, लेकिन क्या आप विस्तार से बता सकते हैं कि आप किन सुरक्षा मुद्दों का हवाला दे रहे हैं?
आर्मफूट

1
लंबी संकेतन को लघु ओवरराइड नहीं करना चाहिए - दस्तावेज़ में पहले एक को जीतना चाहिए।
gsnedders

1
@Armfoot अतीत में UTF-7मैं जो कुछ भी याद करता हूं उससे समस्याएं आती थीं । वेब पर सूँघना भी आम तौर पर बुरा होता है, उदाहरण के लिए जब आप किसी चित्र को अपलोड करते हैं जो स्क्रिप्ट सामग्री के रूप में सूँघा जाता है।
phk

@gnedders क्रोम और फ़ायरफ़ॉक्स में परीक्षण किया, तुम सही हो। तदनुसार जवाब दिया। आर्मफुट: यह कुछ 7 बिट एन्कोडिंग के बारे में था, याद नहीं कि वास्तव में क्या है।
गिलहरी

1
@CraigMcQueen सुनिश्चित करें कि पश्चिमी यूरोप में पश्चिमी यूरोपीय में अभी भी (2018 में) ब्राउज़र में कमियां हैं, इसलिए मैं यह कल्पना करता हूं कि प्रत्येक क्षेत्र में जो भी पूर्व-यूनिकोड एन्कोडिंग प्रमुख है, उसमें चूक है। उपयोगकर्ता utf-8 को फ़ॉलबैक सेट कर सकते हैं, लेकिन यह सभी भद्दे एन्कोडिंग को उजागर करता है हजारों साइटें अभी भी ग्लिची हाई बाइट एससीआई पात्रों के रूप में उपयोग करती हैं, इसलिए यह अभी भी आम नहीं है। मोर की दया। यह नहीं देख सकते हैं कि यह ब्राउज़र विक्रेताओं से थोड़े जोर के बिना कैसे बदलने वाला है, और वे विरासत सामान को तोड़ने के लिए उत्सुक नहीं हैं।
brennanyoung

13

<meta charset="utf-8" />HTML5 का उपयोग करते समय वेब ब्राउज़र के लिए उपयोग करें ।

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />HTML4 या XHTML का उपयोग करते समय, या पुराने डोम पार्सर के लिए उपयोग करें , जैसे DOMDocumentphp 5.3 में


2

मोज़िला फाउंडेशन और साइट पॉइंट पर आधारित कुछ खबरें हैं

इस मान का उपयोग न करें ( http-equiv=content-type) क्योंकि यह अप्रचलित है। charsetविशेषता को < meta> तत्व पर प्राथमिकता दें । यहां छवि विवरण दर्ज करें


अंत में, हाल ही में कुछ और
अय्याश

1

एक ईमेल पर एक हस्ताक्षर एम्बेड करने के लिए, मैं लंबे संस्करण का उपयोग करूंगा:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

कारण यह है कि बहुत से ईमेल पाठक एचटीएमएल 5 का उपयोग नहीं करते हैं, इसलिए यह हमेशा पुराने एचटीएमएल शैलियों का बेहतर उपयोग करता है। वास्तव में, यह divs + css के साथ-साथ तालिकाओं का उपयोग करना बेहतर है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.