Načrtovanje in razvoj spletnih aplikacij

Kodiranje znakov

Če na spletni strani uporabljamo šumnike ali druge posebne znake, moramo brskalniku sporočiti, kako so ti znaki zapisani v datoteki. Vsak znak je v datoteki predstavljen s svojo kodo, kakšna je ta koda, pa je odvisno od uporabljenega kodiranja znakov. Danes je za spletne strani priporočljivo uporabljati kodiranje utf-8, saj podpira znake iz nabora Unicode, kamor spadajo tudi šumniki, posebni znaki in emoji-ji.

Pomni: Če želimo, da se šumniki, posebni znaki in emoji-ji pravilno prikažejo, moramo datoteko shraniti v kodiranju utf-8 in to kodiranje določiti tudi v glavi dokumenta.

Osnovna pravila

  • Vsak znak je v datoteki zapisan glede na izbrano kodiranje znakov.
  • Za sodobne spletne strani je priporočljivo uporabiti kodiranje utf-8.
  • Kodiranje dokumenta določimo v glavi dokumenta z oznako <meta charset="utf-8">.
  • Pri pravilnem kodiranju lahko večino šumnikov in drugih znakov zapišemo neposredno.
  • Posebne znake lahko po potrebi zapišemo tudi z znakovnimi referencami.

Primerjave

Slovenski šumniki v HTML

Starejši programi so pogosto uporabljali različna lokalna kodiranja, na primer windows-1250 ali iso-8859-2, vendar je za sodobne spletne strani najbolj uporabno kodiranje utf-8. To kodiranje podpira vse znake iz nabora Unicode in je standardna izbira pri pisanju dokumentov HTML.

V datoteki HTML uporabljeno kodiranje določimo v glavi z uporabo elementa meta. To je element s prazno vsebino.

Primer kodiranja v HTML5:

<meta charset="utf-8">

Primer istega kodiranja v XHTML:

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

Pozor: Ni dovolj, da v glavi dokumenta samo napišemo utf-8. Datoteka mora biti tudi dejansko shranjena v kodiranju utf-8, sicer se lahko znaki prikažejo napačno.

Čeprav lahko šumnike pri pravilnem kodiranju utf-8 večinoma pišemo neposredno, jih lahko zapišemo tudi s številčno referenco znaka v obliki &#n;, kjer je n ustrezna desetiška koda Unicode. Na primer mali č zapišemo kot &#269;.

Številka Znak
268 Č
269 č
352 Š
353 š
381 Ž
382 ž

Kodiranje posebnih HTML znakov

Nekateri znaki v HTML imajo poseben pomen. Ti znaki so <, >, " in &. Če jih želimo uporabiti v besedilu, moramo uporabiti njihove znakovne reference.

Referenca Znak
&lt; <
&gt; >
&quot; "
&amp; &

Obstajajo tudi znaki, ki jih običajno nimamo neposredno na tipkovnici. Tudi v takih primerih lahko uporabimo znakovne reference.

Referenca Pomen oziroma znak
&nbsp; trdi presledek
&copy; ©
&euro;

Če imena znaka ne poznamo, lahko namesto imena napišemo tudi njegovo desetiško ali šestnajstiško kodo Unicode. Desetiško kodo pričnemo z znakom #, ki mu sledi zaporedje desetiških števk, šestnajstiško kodo pa z znakoma #x, sledi pa zaporedje šestnajstiških števk. Trdi presledek lahko torej zapišemo kot &nbsp;, kot &#160; ali pa kot &#xA0;.

Pomni: Znakovne reference so posebej uporabne takrat, ko želimo v besedilu prikazati znake, ki imajo v HTML poseben pomen, ali ko želimo zapisati znak s kodo Unicode.

Uporaba emoji-jev v HTML

Emoji-ji so prav tako znaki iz nabora Unicode, zato jih lahko na spletni strani uporabljamo podobno kot druge posebne znake. Da se pravilno prikažejo, moramo datoteko shraniti v kodiranju utf-8 in to kodiranje določiti tudi v glavi dokumenta.

Emoji lahko v HTML zapišemo neposredno ali pa z uporabo njegove številčne kode. Številčno kodo zapišemo v desetiški ali šestnajstiški obliki. Na primer znak nasmeška lahko zapišemo kot &#128522; ali kot &#x1F60A;.

Primer uporabe emoji-jev v HTML:

<p>Pozdravljen svet! &#128522;</p>
<p>Danes je lep dan za učenje HTML-ja. &#x1F31E;</p>
<p>Z uporabo Unicode znakov lahko dodamo tudi simbol sveta: &#127760;</p>

Pozdravljen svet! 😊

Danes je lep dan za učenje HTML-ja. 🌞

Z uporabo Unicode znakov lahko dodamo tudi simbol sveta: 🌐

Priporočila

  • Dokument HTML shrani v kodiranju utf-8.
  • V glavi dokumenta določi kodiranje z oznako <meta charset="utf-8">.
  • Šumnike pri pravilnem kodiranju praviloma piši neposredno.
  • Za znake s posebnim pomenom v HTML uporabi ustrezne znakovne reference.
  • Pri posebnih simbolih in emoji-jih po potrebi uporabi številčne kode Unicode.

Pogoste napake

  • Dokument ni shranjen v kodiranju utf-8, čeprav je to v glavi dokumenta zapisano.
  • V glavi dokumenta manjka oznaka za določitev kodiranja znakov.
  • Znak &, < ali > je v besedilu uporabljen neposredno, čeprav ima v HTML poseben pomen.
  • Pri zapisu posebnih znakov ali emoji-jev je uporabljena napačna številčna koda.
  • Mešajo se različna kodiranja znakov znotraj istega dokumenta ali istega projekta.