×
Vytvárame riešenia

Ako zobraziť diakritiku v jazyku PHP

Jedným z prvých problémov začínajúcich programátorov v jazyku PHP je práca s národnou znakovou sadou. Príkladom je slovenská znaková sada a znaky s diakritikou. Kým v jazyku JavaScript sa programátor nemusí starať o problémy so znakovými sadami, v PHP je potrebné k národným znakom používať funkcie typu multibyte. Žiaľ ani tie vždy všetko nevyriešia. Príkladom sú funkcie typu preg_match() či sort(), kedy autor musí hľadať spôsoby ako riešiť problémy s národnou abecedou.
Ale vrátim sa späť k zobrazovaniu diakritiky v internetovom prehliadači. Na úvod si vytvoríme jednoduchý príklad pre zobrazenie textu "Začíname s jazykom PHP.".
Príklad: Zobrazenie textu v internetovom prehliadači.
1
2
3
<?
echo "Začíname s jazykom PHP.";
?>
Výsledkom uvedeného príkladu je zobrazený text: "ZaÄŤĂ­name s jazykom PHP.". Pre správne zobrazenie textu v prehliadači je potrebné definovať znakovú sadu dokumentu. K dispozícii sú dve možnosti:
  • definovanie znakovej sady prostredníctvom HTML
  • použitie funkcie header()

Definovanie znakovej sady prostredníctvom HTML

Ak autor používa jazyk HTML, môže definovať znakovú sadu prostredníctvom elementu <meta> a atribútu charset. Stačí iba skombinovať zápisy HTML so zápismi PHP. Pre zrýchlenie spracovania skriptu v jazyku PHP sa odporúča zápisy jazyka HTML neuvádzať v bloku PHP. Nasledujúci príklad demonštruje kombináciu šablóny jazyka HTML5 s jazykom PHP, ktorá zabezpečí podporu zobrazenia diakritiky. Príklad sa musí nachádzať v súbore s príponou *.php.
Príklad: Šablóna HTML5 s jazykom PHP.
1
2
3
4
5
6
7
8
9
10
11
12
13
<!DOCTYPE html>
<html lang="sk">
<head>
<title>HTML5 / PHP Template</title>
<meta charset="utf-8">
<meta name="author" content="PhDr. Matej Lednár, PhD.">
</head>
<body>
<?
echo "Začíname s jazykom PHP.";
?>
</body>
</html>
Jazyk HTML bude spracovaný aj keď je v súbore s príponou *.php. Ak sa používa priamo zápis HTML, nesmie byť uvedený v značkách bloku php <? ?>.

Definovanie znakovej sady cez funkciu header()

Ďalším spôsobom definovania znakovej sady je použitie funkcie header() na začiatku súboru *.php. Jej argumentom je reťazec 'Content-Type: text/html; charset=utf-8', ktorý definuje typ dokumentu a znakovú sadu.
Príklad: Použitie funkcie header() pre definovanie znakovej sady.
1
2
3
4
<?
header('Content-Type: text/html; charset=utf-8');
echo "Začíname s jazykom PHP.";
?>
Parameter Content-Type môže byť uvedený aj malými písmenami. Pre prácu s dokumentmi sa odporúča používať znakovú sadu UTF-8, ktorá zastupuje znakovú sadu Unicode.

Záver

Pri definovaní znakovej sady je dôležité dávať pozor na jej umiestnenie v súboroch. Znakovú sadu stačí definovať iba raz, inak môžu nastať konflikty.


PHP,programovanie,PHP,echo,diakritika,content-type,preg_match_all,preg_match,header,utf-8,unicode
Žiadna časť tohto článku nesmie byť reprodukovaná bez uvedenia autora a URL na túto stránku.
Viac informácií nájdete v sekcii O projekte.

Komentáre

Článok neobsahuje zatiaľ žiadne komentáre.

Pridať komentár

Meno (povinné)
Web
Správa (povinné)
Odoslať
Od najnovších