UTF-8 kódování češtiny

Aktualizováno: 20. 6. 2020, datum vydání: 9. 2. 2014

Nejmodernější kódování v dnešní době je kódování UTF 8. Na nově vzniklých webech bývá standardem. Jedná se o 8-bit Unicode. Je určeno pro všechny světové jazyky.

HTML či PHP stránka v UTF 8

Kód

Kódování HTML stránky lze nastavit pomocí meta tagu <meta>:

HTML 5

<meta charset="UTF-8" />

HTML 4.01

<meta http-equiv="content-type" content="text/html; charset=UTF-8" />

Editory

PSPad

Soubory je nutné editovat za použití kódování UTF 8. Skvěle to umí např. editor PSPad. Jde o voblu v menu Formát » UTF 8. PSPad zvládá i převod do jiného kódování.

NetBeans

Editor NetBeans kódování UTF 8 také ovládá. Když však editujete cizí soubory uložené v jiném kódování než v UTF, NetBeans s tím může mít problém. Kódování s v NetBeans zadává již při vytváření projektu.

Databáze v UTF 8

Porovnání – collation a character set

Při vytváření databáze se zadává znaková sada (character set) a porovnání (collation) v příkazu CREATE DATABASE. Na UTF 8 ho nastavíme volbou utf8_czech_ci.

CREATE DATABASE IF NOT EXISTS `nase_databaze` DEFAULT CHARACTER SET utf8 COLLATE utf8_czech_ci;

Většinou toto porovnání nastavujeme přes administrátorské rozhraní phpMyAdmin při vytváření databáze. Pokud je již databáze vytvořena, tak vybereme v phpMyAdmin databázi a dáme vybereme volbu Úpravy » Porovnání.

Také může pomoci SQL příkaz SET NAMES:

SET NAMES 'utf8';

PHP skripty a databázové dotazy

Aby se vstupní údaje z formulářů ukládaly do databáze a četly z databáze ve správném kódování, je nutné kódování nastavit po konexi do databáze příkazem mysqli_set_charset. Zde je zjednodušený procedurální kód bez ošetření chybových hodnot:

<?php
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'test');
mysqli_set_charset($link, "utf8");
?>

Další informace

Další články