×
Creating solutions

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
No part of this article may be reproduced without mention of the author and URL to this website.
For more information, see the About section.

Comments

Article has no comments.

Add a comment

Name (required)
Website
Message (required)
Submit
From latest