Před zavedením HTML5, nastavení kódování znaků v dokumentu s prvkem vyžadovalo, abyste napsali poněkud podrobný řádek, jak je vidět níže. Jedná se o prvky Meta Charset, pokud jste na své webové stránce používali HTML4:
Co je důležité si v tomto kódu všimnout, jsou uvozovky, které vidíte kolem obsah atribut: obsah ="text / html; znaková sada = iso-8859-1". Stejně jako všechny atributy HTML i tyto uvozovky definují hodnotu atributu, což znamená, že celý řetězec text / html; charset = iso-8959-1 je obsah tohoto prvku. Toto je správné HTML a je to způsob, jakým měl být tento řetězec napsán. Je také nepraktický dlouhý a ošklivý! Také to není něco, co byste si pravděpodobně pamatovali z hlavy!
Ve většině případů by vývojáři webu museli zkopírovat a vložit tento kód z jednoho webu na jakýkoli nový, který vyvíjeli, protože psaní od začátku vyžadovalo hodně.
HTML5 odstřihne další „věci“
HTML5 nejen přidal do jazyka některé nové prvky, ale také výrazně zjednodušil většinu syntaxe HTML, včetně prvku Meta Charset. S HTML5 můžete přidat své kódování znaků s mnohem snadněji zapamatovatelnou syntaxí pro
META prvek, který vidíte níže:Porovnejte tuto zjednodušenou syntaxi s tím, co jsme napsali na začátku tohoto článku, starou syntaxi používanou pro HTML4, a uvidíte, o kolik snazší je psát a pamatovat si verzi HTML5. Místo toho, abyste to museli kopírovat a vkládat ze stávajícího webu na jakýkoli nový, na kterém jste pracovali, je to naprosto něco, na co si jako přední webový vývojář pamatujete. Tato úspora času nemusí být velká, ale když vezmete v úvahu další oblasti syntaxe, které HTML5 zjednodušily, úspory se sčítají!
Vždy zahrňte kódování znaků
Pro své webové stránky byste měli vždy zahrnout kódování znaků, i když nikdy žádné nehodláte použít speciální znaky. Pokud nezadáte kódování znaků, stane se váš web zranitelný vůči útoku skriptování mezi weby pomocí UTF-7.
V tomto scénáři útočník zjistí, že váš web nemá definované žádné kódování znaků, a tak přiměje prohlížeč, aby si myslel, že kódování znaků stránky je UTF-7. Útočník dále vloží na webovou stránku skripty kódované UTF-7 a váš web bude hacknut. To je problematické pro všechny zúčastněné, od vaší společnosti až po vaše návštěvníky. Dobrou zprávou je, že je jednoduché se vyhnout problému - nezapomeňte přidat kódování znaků na všechny své webové stránky.
Kam přidat kódování znaků
Kódování znaků pro webovou stránku by mělo být prvním řádkem kódu HTML
živel. Tím je zajištěno, že prohlížeč ví, jaké je kódování znaků, než provede cokoli jiného na stránce, než aby určil doctype a identifikoval, že se jedná o stránku HTML. Váš HTML by měl číst:
...
Použití záhlaví HTTP pro extra zabezpečení
Můžete také určit kódování znaků v hlavičkách HTTP. To je ještě bezpečnější než jeho přidání na stránku HTML, ale budete muset mít přístup ke konfiguracím serveru nebo .htaccess soubory, což znamená, že možná budete muset spolupracovat s poskytovatelem hostingu na vašem webu, abyste získali tento druh přístupu nebo je nechali provést změny vy. Přístup je zde výzvou. Samotná změna je jednoduchá, takže každý poskytovatel hostingu by měl být schopen tuto změnu za vás udělat relativně snadno.
Pokud používáte Apache, můžete nastavit výchozí znakovou sadu pro celý svůj web přidáním: AddDefaultCharset UTF-8 do svého kořene .htaccess soubor. Výchozí znaková sada Apache je ISO-8859-1.