Firefox 4, HTML 5 - character encoding a nový META tag
html5 w3cPráve pred pár hodinami sa mi natiahol update na Firefox 4, aktualizoval sa z verzie RC na RC2, vraj kvôli nejakým štrbinám v oblasti bezpečnosti. No čo som si ja náhle všimol, možno to nemá nič spoločné s update-om na RC2, ale celkom určite sa to stalo pri prechode na verziu 4: na mojej stránke sa začali zjavovať čudesné znaky na miestach, kde mali byť dĺžne, mäkčene a podobne. Čosi sa stalo s tým, ako prehliadač interpretuje znakovú sadu mojich stránok. Keďže v IE8 to funguje, tak čosi skutočne čudné musí byť v ovzduší.

Po chvíľke hľadania som narazil na akúsi stránku, ktorá spomínala, že charset, ako sa kedysi špecifikoval podľa starého štandardu HTML v rámci atribúty content META tagu, ktorý nahradzuje HTTP response header Content-Type, teda tohoto a takto:

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2" />

že už je tento spôsob DEPRECATED - zanechaný, odvrhnutý - v štandarde HTML 5 a ja vyvodzujem, že FF4 sa odhodlal ísť s plnou podporou nového vzrušujúceho HTML 5 štandardu, tak teda ignoruje moju špecifikáciu znakovej sady.

Čo s tým?

Samozrejme, kde sa niečo staré končí, niečo nové sa začína. Teda, kde zavrhli starý spôsob definovania znakovej sady pre stránky, uviedli nový spôsob ako dosiahnuť to isté. A to už pomocou nového META tagu. Teda, META tag je náš starý známy, no pre uvedenie znakovej sady sa dnes používa tento fešák:

<meta charset="UTF-8" />

Samozrejme, UTF-8 je tu uvedené len ako príklad. Na mojich stránkach to je zasa ISO-8859-2, alebo aj sada zvaná Latin2.

Hurá na nový štandard! Ale pozóór...

Hoci pre prehliadač, ako napríklad už dlho-očakávaný Firefox 4, ktorý podporuje HTML 5 je práve tento nový spôsob udávania znakovej sady vyžadovaný, nezabúdajme (do oka sa mi tisne slza) na užívateľov napríklad Internet Explorer-u 6 a staršie (ježá sa mi chlupé na štici), je potrebné aby ste stlmili entuziazmus a ponechali aj starý meta tag a udali charset v rámci Htt-Eqiv META tagu.

Ešte jedna poznámka k používaniu starého tagu: keď môžete, nastavte si vašu servrovú časť, napríklad PHP skripty, aby produkovali HTTP response header

Content-Type: text/html; charset=UTF-8
a vaša znaková sada bude popísaná už v samotnej hlavičke HTTP odozvy, čo vlastne sa starý META tag s atribútom http-eqiv snaží nahradiť.

Veselé prijatie nového štandardu a ZDOCHNI IE6, ZDOCHNI!

stop IE6, die IE6, go to hell already
Die IE6, go to hell already!

Spread Firefox Affiliate Button
Opera, the fastest and most secure web browser
Stiahni si Internet Explorer, minimálne verziu 9. Žiaden ľahko dostupný banner s logom som nenašiel.
Posledná úprava ( Sunday, 31 July 2011 )
 
< Predchádzajúca   Ďalšia >