<meta charset = “utf-8”> එදිරිව <meta http-equal = “අන්තර්ගත වර්ගය”>


1543

HTML5 ඩොක්ටයිප් සඳහා අක්ෂර කට්ටලය අර්ථ දැක්වීම සඳහා , මා භාවිතා කළ යුත්තේ කුමන අංකනයද ?

  1. කෙටි:

    <meta charset="utf-8" /> 
  2. දිගු:

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

94
අන්තර්ගත-වර්ගය සහ කේතන ක්‍රම වැනි දේ සඳහා <meta> ටැගයක් භාවිතා කිරීම අතිශයින්ම උත්ප‍්‍රාසාත්මක ය, මන්ද ඒවා නොදැන, මෙටා ටැගයේ වටිනාකම ලබා ගැනීම සඳහා ඔබට ගොනුව විග්‍රහ කළ නොහැක.
මාර්ක්

322
ඔබ එය ළඟා වන තුරු එය ASCII ලෙස විග්‍රහ කළ හැකිය. HTML5 විග්‍රහ කිරීමේ ඇල්ගොරිතම මෙය සැලකිල්ලට ගනී.
ක්වෙන්ටින්

41
වෙබ් අඩවිය හරහා පිටුව සේවය කරන විට විග්‍රහ කිරීම සඳහා මේ දෙකම භාවිතා නොකරන බව සැලකිය යුතුය. ඒ වෙනුවට, HTTP Content-Typeප්‍රතිචාර ශීර්ෂයේ ඇති එක භාවිතා වේ. මෙටා ටැගය භාවිතා කරනුයේ දේශීය තැටි ගොනු පද්ධතියෙන් පිටුව පූරණය වූ විට පමණි.
BalusC

38
මෙටා මූලද්‍රව්‍යය ඇතැම් කොන්දේසි යටතේ HTTP හරහා භාවිතා කරයි (HTTP ශීර්ෂයේ දත්ත නොමැති වීම ඇතුළුව)
ක්වෙන්ටින්

78
එය ඇත්ත වශයෙන්ම කේතීකරණයක් නියම කිරීම සඳහා වන විට එය චාර්සෙට් ලෙස නම් කිරීම විකාරයකි. (අක්ෂර කට්ටලය යුනිකෝඩ් ය, කේතන ක්‍රමය යූටීඑෆ් -8 වේ)
රයන්

Answers:


1086

HTML5 හි ඒවා සමාන වේ. කෙටි එක භාවිතා කරන්න, මතක තබා ගැනීම සහ ටයිප් කිරීම පහසුය. පසුගාමී අනුකූලතාව සඳහා නිර්මාණය කර ඇති බැවින් බ්‍රව්සර් සහාය හොඳයි .


23
බ්‍රව්සර් සහාය ගැන කුමක් කිව හැකිද? ඇත්තාට <meta charset='utf-8'>IE6 වැඩ?
අයිම් විදාස්

11
මා දන්නා තරමින් ඔව්.
ක්වෙන්ටින්

4
V Šime විදාස් සඳහන් කළ ගූගල් කේත පිටුව සඳහා යාවත්කාලීන කළ සබැඳියක් මෙන්න . IE 6, 7, සහ 8 සම්බන්ධයෙන්, "IE නොවන බ්‍රව්සර් වලදී, ඔබට document.characterSet භාවිතා කළ හැකිය. IE හි, ඔබට ලේඛනගත කළ හැකි යැයි ඔබ සිතනු ඇත .getElementsByTagName ('මෙටා') [0] .චාර්සෙට්, නමුත් මෙය IE සැබවින්ම භාවිතා කරන කේතන ක්‍රමය නොව ඔබ නියම කළ අක්ෂර කේතන ක්‍රමය පමණක් ලබා දෙයි.
hotshot309

7
මෙම ත්‍රෙඩ් එක පැරණි බව මම දනිමි, නමුත් gtmetrix.com/specify-a-character-set-early.html මඟින් <meta>අක්‍ෂර කේතනය සැකසීමට භාවිතා කිරීම IE8 හි ඇති පෙනුම බාගත කරන්නා අක්‍රීය කරයි, එය ඔබගේ පිටු පැටවීමේ වේලාවන්ට බලපෑම් කළ හැකිය. ඔව්, ඔව්, මම දන්නවා ... IE8 අතහරින්න. @ MészárosLajos හට වසර කිහිපයකින් නැවත මෙහි පැමිණ IE8 සඳහා සහය දැක්වීම සඳහා අපගේ බෝල බිඳ දැමිය හැකිය. ;-)
erturne

3
අද මට IE11 හි කොරියානු සංකේත නොපෙන්වන ගැටලුවක් තිබුණි. කෙටි වාක්‍ය ඛණ්ඩය දිගු වාක්‍ය ඛණ්ඩයට පක්ෂව අතහැර දැමීම ගැටළුව විසඳීය. මෙය කිසියම් සේවාදායක වින්‍යාසයක් නිසා ද නැතිනම් එය IE11 සහ අක්ෂර කට්ටලය සමඟ ගැටළුවක් ද යන්න මම නොදනිමි. එය අසාර්ථක වූ නිශ්චිත සංකේත සංයෝජනය was විය.
ජේම්ස් ඩොනලි

251

මෙටා අක්ෂර කට්ටල ප්‍රකාශනයේ ආකාර දෙකම සමාන වන අතර බ්‍රව්සර් හරහා එක හා සමානව ක්‍රියා කළ යුතුය. නමුත්, ඔබේ වෙබ් ලිපිගොනු අක්ෂර කට්ටලය UTF-8 ලෙස ප්‍රකාශ කිරීමේදී ඔබ මතක තබා ගත යුතු කරුණු කිහිපයක් තිබේ:

  1. තිබීමද UTF-8 කේතනාංකයෙන් ඔබේ ගොනු (ව) සුරකින්න තොරව මෙම බයිට-පිණිස ලකුණ (ද්රව්ය ලේඛණය).
  2. මෙටා අක්ෂර කට්ටලය භාවිතා කරමින් ඔබේ HTML ලිපිගොනු වල කේතන ක්‍රමය ප්‍රකාශ කරන්න (ඉහත වැනි).
  3. අන්තර්ගත-වර්ගයේ HTTP ශීර්ෂයේ UTF-8 කේතනය ප්‍රකාශ කරමින් ඔබේ වෙබ් සේවාදායකය ඔබගේ ලිපිගොනු වලට සේවය කළ යුතුය .

Apache සේවාදායකයන් පෙරනිමියෙන් ISO-8859-1 හි ගොනු සේවය සඳහා වින්‍යාස කර ඇත, එබැවින් ඔබ පහත දැක්වෙන පේළිය ඔබේ .htaccessගොනුවට එක් කළ යුතුය:

AddDefaultCharset UTF-8

අන්තර්ගත වර්ගයේ ප්‍රතිචාර ශීර්ෂය තුළ UTF-8 කේතන ක්‍රමයක් ප්‍රකාශයට පත් කරමින් ඔබේ ලිපිගොනු සේවය කිරීම සඳහා මෙය Apache වින්‍යාස කරනු ඇත, නමුත් ආරම්භ කිරීමට ඔබගේ ගොනු UTF-8 (BOM නොමැතිව) තුළ සුරැකිය යුතුය .

BOM නොමැතිව නොට්පෑඩයට ඔබගේ ගොනු UTF-8 තුළ සුරැකිය නොහැක. නොමිලේ සංස්කාරකයක් නොට්පෑඩ් ++ වේ. වැඩසටහන් මෙනු තීරුවේ, "BOM නොමැතිව UTF-8 හි එන්කෝඩින්> එන්කෝඩ්" තෝරන්න. ඔබට "එන්කෝඩින්> BOM නොමැතිව UTF-8 බවට පරිවර්තනය කරන්න" භාවිතා කරමින් ගොනු විවෘත කර UTF-8 හි නැවත සුරැකිය හැක.

මත වැඩි බයිට සාමය මාර්ක් (ද්රව්ය ලේඛණය) විකිපීඩියා, නිදහස් විශ්වකෝෂය හි .


20
Ode කෝඩ්බෝයි "BOM නොමැතිව ඔබ සුරැකිය යුතුයි " යනුවෙන් පැවසීමට මම ඔබේ පිළිතුර සංශෝධනය කරමි . පහත දැක්වෙන පිටුවෙහි "... සාමාන්‍යයෙන් අන්තර්ක්‍රියාකාරිත්වයට BOM මඟ හැරීම වඩාත් සුදුසුය ..." යනුවෙන් දැක්වෙන්නේ හොඳම භාවිතයක් පෙන්නුම් කරන නමුත් අවශ්‍යතාවයක් නොවේ: w3.org/International/questions/qa-byte-order-mark
ජොහාන්

3
IIS දී ඔබ අනුලකුණු HTTP ශීර්ෂක සමඟ Web.Config දී සැකසිය හැක <ගෝලීයකරණය fileEncoding = "තිබීමද UTF-8" responseEncoding = "තිබීමද UTF-8" /> - <system.web> වෙත එක්
ක්රිස් Moschini

3
මම දේවල් තේරුම් ගත් පරිදි, ඔබ අපගේ BOM නොමැතිව ඉතිරි කරන්නේ නම් එය කිසිසේත්ම වැදගත් නොවේ.
ඩේවිඩ් 天宇 වොන්

3
UTF-8 HTML BOM නොමැතිව විය යුත්තේ ඇයි කියා ඔබ කියන්නේ ඇයි? BOM එකක් තිබීම හොඳින් ක්‍රියාත්මක විය යුතුය. එසේම, ඔබට අවශ්‍ය නොවන metaඅතර HTTP ශීර්ෂයක්ද ඇත. ඔබට අවශ්‍ය වන්නේ BOM එකක් metaහෝ HTTP ශීර්ෂයක් පමණි.
hsivonen

5
Summing up: don't use BOM for UTF-8මට මේ සමඟ එකඟ විය නොහැක. කේතීකරණ වර්ගය සං aling ා කිරීම සඳහා UTF-8 හි BOM ඉතා ප්‍රයෝජනවත් වේ. එසේ නොමැතිනම් අපට අනුමාන කළ යුතුය, නැතහොත් මෙම ප්‍රශ්නය යොමු කරන මෙටා ටැග් වැනි දේවල් භාවිතා කළ යුතුය. BOM හි ඇති සිසිල්ම දෙය නම් එය යුනිකෝඩ් පිරිවිතරයේ කොටසක් වන අතර එමඟින් HTML පමණක් නොව යුනිකෝඩ් හි කේතනය කර ඇති සියලුම දත්ත සඳහා භාවිතා කළ හැකිය. අප කළ යුත්තේ සෑම තැනකම BOM භාවිතා කිරීම, පැරණි මෘදුකාංග ඒ මත පුපුරවා හැරීම, එම දෝෂ වාර්තා කිරීම සහ ඒවා නිවැරදි කිරීම ය.
ස්ටිජන් ඩි විට්

83

කෙටි එක සමඟ යාමට තවත් හේතුවක් නම්, ඔබ සලකුණු කිරීමේදී අක්ෂර කට්ටලයක් නියම කළ හැකි වෙනත් අවස්ථාවන්ට එය ගැලපේ. උදාහරණයක් වශයෙන්:

<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 හැර වෙනත් අගයක් භාවිතා කිරීමට කිසිසේත් හේතුවක් නැත. යූටීඑෆ් -8 යනු 1999 දී HTML4 සිට වෙබ් ලේඛන සඳහා සුපුරුදු කේතීකරණය වන අතර නවීන වෙබ් පිටු සෑදීමේ එකම ප්‍රායෝගික ක්‍රමය වේ.

එසේම ඔබ UTF-8 හි HTML ආයතන භාවිතා නොකළ යුතුය. ප්‍රකාශන හිමිකම් සංකේතය වැනි අක්ෂර කෙලින්ම ටයිප් කළ යුතුය. ඔබ භාවිතා කළ යුතු එකම ආයතන වන්නේ වෙන් කළ සලකුණු 5 සඳහා ය: ඇම්පර්සෑන්ඩ්, ප්‍රයිම්, ඩබල් ප්‍රයිම් වලට වඩා අඩුය. ආයතනවලට HTML විග්‍රහයක් අවශ්‍ය වන අතර, එය ඔබට සැමවිටම ඉදිරියට යාමට අවශ්‍ය නොවනු ඇත, ඒවා දෝෂ හඳුන්වා දෙයි, ඔබේ කේතය අඩු කියවිය හැකි බවට පත් කරයි, ඔබේ ගොනු ප්‍රමාණය වැඩි කරයි, සහ සමහර විට ඔබ භාවිතා කළ ආයතන අනුව විවිධ බ්‍රව්සර්වල වැරදි ලෙස විකේතනය වේ. ප්‍රකාශන හිමිකම, වෙළඳ ලකුණ, විවෘත උපුටා දැක්වීම, සමීප උපුටා දැක්වීම, අපෝස්තලාපය, එම් ඩෑෂ්, එන් ඩෑෂ්, බුලට්, යූරෝ සහ ඔබේ අන්තර්ගතයේ ඔබට හමු වන වෙනත් අක්ෂර ටයිප් කරන්නේ කෙසේද සහ ඉගෙන ගන්නේ කෙසේද යන්න ඉගෙන ගෙන ඔබේ කේතයේ සත්‍ය අක්‍ෂර භාවිතා කරන්න. යතුරුපුවරු පද්ධති මනාපයෙන් ඔබට සක්‍රිය කළ හැකි අක්ෂර නරඹන්නෙකු මැක් සතුව ඇත, ඔබට අවශ්‍ය අක්ෂර සොයා ගැනීමට සහ ඇදගෙන යාමට හෝ ගැලපෙන යතුරුපුවරු නරඹන්නා භාවිතා කර යතුරු යතුරු ටයිප් කළ යුතු දැයි බැලීමට ඔබට හැකිය. උදාහරණයක් ලෙස, වෙළඳ ලකුණ විකල්ප + 2 වේ. UTF-8 සෑම ලිඛිත මිනිස් භාෂාවකින්ම සියලුම අක්ෂර සහ සංකේත අඩංගු වේ. එබැවින් භාවිතා කිරීම සඳහා නිදහසට කරුණක් නැත - එම් ඩෑෂ් වෙනුවට. විරාම ලකුණු සහ යතුරු ලියනය පිළිබඳ නීති ඉගෙනීම ද නරක අදහසක් නොවේ ... නිදසුනක් වශයෙන්, යම් කාල පරිච්ඡේදයක් පිටතින් නොව සමීප උපුටා දැක්වීමක් තුළට යන බව දැන ගැනීම.

අන්තර්ගත-වර්ගය සහ කේතීකරණය වැනි දෙයක් සඳහා ටැගයක් භාවිතා කිරීම අතිශයින්ම උත්ප‍්‍රාසාත්මක ය, මන්ද ඒ දේවල් නොදැන ඔබට මෙටා ටැගයේ වටිනාකම ලබා ගැනීම සඳහා ගොනුව විග්‍රහ කළ නොහැක.

නැත, එය සත්‍ය නොවේ. බ්රවුසරය යූටීඑෆ් -8 හෝ අයිඑස්ඕ -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 තුළ සුරැකිය හැකි හොඳ පෙළ සංස්කාරකයක් ඔබට අවශ්‍ය නම්, මම නිර්දේශ කරන්නේ Notepad ++.

මැක්හි, මැක් ඇප් වෙළඳසැලෙන් හිස් අස්ථි පෙළ රැන්ග්ලර් (නොමිලේ) හෝ මැක් ඇප් වෙළඳසැලේ ඇති හිස් අස්ථි බීබීඑඩිට් ඩොලර් 39.99 කට භාවිතා කරන්න ... එවැනි විශිෂ්ට මෙවලමක් සඳහා ඉතා ලාභදායී වේ. එක් යෙදුමකදීම, ලේඛන කවුළුවේ පතුලේ මෙනුවක් ඇති අතර එහිදී ඔබ ලේඛන කේතීකරණය නියම කරන අතර ඔබට පහසුවෙන් "UTF-8 no BOM" තෝරා ගත හැකිය. ඇත්ත වශයෙන්ම ඔබට එය මනාපයන්හි නව ලේඛන සඳහා පෙරනිමිය ලෙස සැකසිය හැකිය.

නමුත් ඔබේ වෙබ්සර්වරය නිර්දේශ කරනු ලබන 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 ට වෙනස් ලෙස සංකේතවත් කරයි.
thomasrutter

2
HTML ආයතන පිළිබඳ ඔබේ අදහස හොඳයි. අතීතයේ දී, මම ආයතන භාවිතා කර ඇත්තේ ඒවා විවිධ පද්ධතිවල සුරකින ලද පසු සහ / හෝ විවිධ සංස්කාරකවල විවෘත කිරීමෙන් පසුව ඒවා UTF-8 අක්ෂර බවට පරිවර්තනය කර ඇති බව සොයා ගැනීමට පමණි. කෙසේ වෙතත්, බිඳ දැමිය නොහැකි අවකාශයන්ට (& nbsp;) ව්‍යාකූල ප්‍රති results ල ලබා ගත හැකි බව සඳහන් කිරීම වටී, මන්ද ඔබ ඒවා සාමාන්‍යයෙන් ඔබේ සංස්කාරකයේ නොදකින බැවින් පැහැදිලිකම සඳහා (මගේ අත්දැකීම් අනුව) ආයතන ලෙස තබා ගැනීම වඩාත් සුදුසුය.
squidbe

"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 මෙටා අක්ෂර කට්ටලය - W3 පාසල්


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 හි කේතනය ලබා ගැනීමට මෙන් කියවීමට උත්සාහ කරයි, එබැවින් ඔබට කිසිදු අමුතු කේතීකරණයක් භාවිතා කළ නොහැක (BOM සමඟ 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
R ආම්ෆූට් අතීතයේ UTF-7මට මතක ඇති දේ සමඟ ගැටලු ඇති විය. වෙබයේ සැරිසැරීම සාමාන්‍යයෙන් නරක ය, උදා: ඔබ රූපයක් උඩුගත කරන විට එය ස්ක්‍රිප්ට් අන්තර්ගතය ලෙස ගිලිහී යයි.
phk

@gsnedders ක්‍රෝම් සහ ෆයර්ෆොක්ස් වලින් පරීක්ෂා කර ඇත, ඔබ හරි. පිළිතුර ඒ අනුව සංස්කරණය කරන ලදි. ආම්ෆූට්: එය බිට් 7 කේතන ක්‍රමයක් පමණයි, හරියටම මතක නැහැ.
ලේනුන්

1
RaCraigMcQueen බ්රවුසරයේ පසුබෑම තවමත් (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" />

හේතුව බොහෝ විද්‍යුත් තැපැල් පා readers කයින් html5 භාවිතා නොකිරීමයි, එබැවින් සෑම විටම පැරණි html මෝස්තර භාවිතා කිරීම වඩා හොඳය. ඇත්ත වශයෙන්ම, divs + css වලට වඩා වගු භාවිතා කිරීම වඩා හොඳය.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.