În scopul de a defini setul de caractere pentru HTML5 Doctype, care notație ar trebui să folosesc?
Ambele forme ale meta charset declarații sunt echivalente și ar trebui să funcționeze la fel pe diferite browsere. Dar, există câteva lucruri pe care aveți nevoie să vă amintiți, atunci când declară dvs. de web, fișiere de caracter-a stabilit ca UTF-8:
Apache servere sunt configurate pentru a servi fișiere în ISO-8859-1 în mod implicit, astfel încât aveți nevoie să adăugați următoarea linie a ta `.htaccess file:
AddDefaultCharset UTF-8
Acest lucru va configura Apache pentru a servi fișiere declararea codificarea UTF-8 în Conținutul-Tip antet de răspuns, dar fișierele must fi salvate în UTF-8 (fără BOM) pentru a începe cu.
Notepad nu pot salva fișiere în UTF-8 fără BOM. Un editor gratuit, care poate este Notepad++. Pe programul bara de meniu, selectați "Codare > Codarea UTF-8 fără BOM". Puteți deschide, de asemenea, fișiere și re-salvați-le în UTF-8, folosind "Codare > Converti la UTF-8 fără BOM".
Un alt motiv pentru a merge cu cel scurt este că se potrivește alte cazuri în care s-ar putea specifica un set de caractere în marcaj. De exemplu:
<script type="javascript" charset="UTF-8" src="/script.js"></script>
<p><a charset="UTF-8" href="http://example.com/">Example Site</a></p>
Coerența ajută pentru a reduce erorile și de a face codul mai ușor de citit.
Rețineți că charset atribut este case-insensitive. Puteți folosi UTF-8 sau utf-8, cu toate acestea UTF-8 este mai clară, mai ușor de citit, mai precis.
De asemenea, nu există absolut nici un motiv, la toate pentru a utiliza orice valoare, altele decât UTF-8 în meta charset atribut sau antetul paginii. UTF-8 este codarea implicită pentru documente Web de HTML4, în 1999, și singura modalitate practică de a face modern pagini Web.
De asemenea, nu ar trebui să utilizați entități HTML în UTF-8. Personaje ca simbolul drepturilor de autor ar trebui să fie scris direct. Singura entități ar trebui să utilizați pentru 5 rezervate marcare caractere: mai puțin decât, mai mare decât, ampersand, prim, prim dublu. Entitățile au nevoie de un parser HTML, care poate nu întotdeauna doriți să utilizați pentru a merge înainte, se introduce erori, face codul mai ușor de citit, crește fișiere de dimensiuni, și, uneori decoda incorect în browsere diferite, în funcție de care entitățile le-ai folosit. Aflați cum să tastați/introduce drepturi de autor, marcă înregistrată, deschide citat, citat de aproape, apostrof, em dash, en dash, glonț, Euro, precum și orice alte caractere pe care le întâmpinați în conținutul dvs., și de a folosi aceste caractere în cod. Mac are un Caracter Viewer, care vă poate transforma pe în Tastatură Sistem de Preferință, și puteți găsi și apoi trageți și plasați personajele de care ai nevoie, sau de a folosi potrivire Keyboard Viewer pentru a vedea care sunt tastele de tip. De exemplu, marca este Opțiunea+2. UTF-8 conține toate caracterele și simbolurile de fiecare scris limbajul uman. Deci, nu există nici o scuză pentru utilizarea ... in loc de o linie de dialog. Nu este o idee rea să învețe regulile de punctuație și de tipografie, de asemenea, ... de exemplu, știind că o perioadă a merge în interiorul unui citat de aproape, nu în afara.
Folosind-o <meta> tag-ul pentru ceva de genul content-type și codificarea este extrem de ironic, deoarece, fără să știe aceste lucruri, ai putea't analiza dosar pentru a obține valoarea de meta-tag-ul.
Nu, nu este adevărat. Browser-ul începe parsarea fișierului ca browser-ul's codificare implicită, fie UTF-8 sau ISO-8859-1. De când NE-ASCII este un subset de ambele ISO-8859-1 și UTF-8, browser-ul poate citi
bine oricum ... este la fel. Atunci când browser-ul întâlniri meta charset tag-ul, în cazul în care codificarea este diferit de ceea ce browser-ul este deja folosind, browser-ul încarcă pagina în codificarea specificată. De aceea am pus meta charset tag-ul la partea de sus, imediat după eticheta head, înainte de orice altceva, chiar titlul. În acest fel puteți folosi UTF-8 caractere în titlu.trebuie să salvați fișierul(e) în codificarea UTF-8 fără BOM
Care nu este strict adevărat. Dacă aveți doar NE-ASCII în document, îl puteți Salva ca NE-ASCII si serveste-l ca UTF-8, pentru că este un subset. Dar dacă există caractere Unicode, ai dreptate, trebuie să Salvați ca UTF-8 fără BOM.
Dacă doriți un bun editor de text care va salva fișierele dvs. în UTF-8, recomand Notepad++.
Pe Mac, utilizați Oase Goale TextWrangler (gratuit) de la Mac App Store, sau de Oase Goale BBEdit care este de la Mac App Store pentru $39.99 ... foarte ieftin pentru un astfel de instrument de mare. În orice aplicație, există un meniu în partea de jos a ferestrei documentului în care să specificați documentul de codare și puteți alege cu ușurință "UTF-8 fără BOM". Și, desigur, puteți seta ca implicit pentru noi documente în Preferințe.
Dar dacă Serverul dvs. de web servește codificarea în antetul HTTP, care este recomandat, atât [meta tag-uri] sunt inutil.
Care este incorectă. Ar trebui, desigur, seta codificarea în antetul HTTP, dar ar trebui, de asemenea, stabilit în meta charset atribut, astfel încât pagina pot fi Salvate de către utilizator, din browser-ul pe stocarea locală și apoi a Deschis din nou mai târziu, caz în care singura indicație de codare care va fi prezent este meta charset atribut. De asemenea, trebuie să setați o etichetă de bază pentru același motiv ... pe server, baza tag-ul este necesar, dar atunci când este deschis de stocare locale, pe bază de tag-ul permite pagină pentru a lucra ca daca este pe server, cu toate activele în loc și așa mai departe, nu link-uri rupte.
AddDefaultCharset UTF-8
Sau puteți pur și simplu schimba codificarea anumitor tipuri de fișiere, astfel:
AddType text/html;charset=utf-8 html
Un sfat pentru servire ambele UTF-8 și Latin-1 (ISO-8859-1) fișiere este de a oferi UTF-8 fișiere un "text" extinderea și Latin-1 fișiere "txt."
AddType text/plain;charset=iso-8859-1 txt
AddType text/plain;charset=utf-8 text
În cele din urmă, ia în considerare Salvarea documentelor cu Unix capetele de linie, nu moștenirea DOS sau (clasic) Mac capetele de linie, care nu't ajuta și poate răni, mai ales ca mergem mai departe și mai departe de aceste sisteme mai vechi. Un document HTML cu HTML5 valabil, codificarea UTF-8, și Unix capetele de linie este un loc de muncă bine facut. Puteți partaja și edita și stoca și de a citi și de a recupera și să se bazeze pe acest document în mai multe contexte. L's lingua franca. L's digital hârtie.
`<meta charset="utf-8"> a fost introdus cu/pentru HTML5.
După cum sa menționat în documentație, ambele sunt valabile. Cu toate acestea, <meta charset="utf-8">
este doar pentru HTML5 (și mai ușor să tastați/mi amintesc).
În timp util, pe stil vechi este obligat să devină învechită în viitorul apropiat. Am'd rămânem la noi <meta charset="utf-8">
.
Nu's doar într-un fel, dar în sus. În tech's de caz, care's treptată vechi (foarte, foarte repede)
Documentație: HTML meta charset Atribut—W3Schools
Deși nu contestă alte răspunsuri, cred că ce urmează este demn de menționat.
http-equiv
) notație și "scurt", sunt egale, oricare dintre acestea survine mai întâi câștigă;Puteți testa prin rularea 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 și arătând browser-ul dvs. la
localhost:4500. (Desigur, veți dori să modificați sau să eliminați componente. BOM parte este
\xef\xbb\xbf`. Se abtine de codare de coajă.)
Vă rugăm minte că l's foarte important să declare în mod explicit de codare. Lasă browsere ghici poate duce la probleme de securitate.
Folosi<meta charset="utf-8" /> pentru browsere web atunci când se utilizează HTML5.
Folosi<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />atunci când se utilizează HTML4 sau XHTML, sau pentru depășite dom interpretoare, ca
DOMDocument în php 5.3
Pentru a încorpora o semnătură pe un e-mail, mi-ar folosi versiunea lungă:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Motivul este că nu mulți cititori de e-mail utilizați html5, deci's întotdeauna mai bine să utilizați vechi html styles. De fapt, l's mai bine să utilizați tabele decât elementele div + css la fel de bine.