Zdravím, nastavil jsem své enkódování znaků na UTF8. Poté jsem vložil do tabulky znaky s diakritikou přes INSTERT. Ve chvíli kdy se snažím zobrazit tabulku na stránce, stránka zobrazí znaky s diakritikou jako: �..
V hlavičce HTML máš <meta http-equiv="content-type" content="text/html; charset=utf-8" /> ?
Ano, cílem je zobrazit znaky jako +ščšřčř v databázi. Podařilo se mi zjistit že INSERT INTO funguje s diakritikou z Console v PHPMYADMIN. Z PHP codu ne.
A jak vypadá PHP kód, kterým si připojíš databázi? Zkusil bych po úspěšném připojení poslat příkaz 'SET NAMES UTF8' + tabulka v DB je definována jako DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_czech_ci (například) + skript posílá data v kódování utf8? :)
Mé připojení vypadá takto:
1.) připojení na server
2.) vytvoření databáze (IF NOT EXISTS)
3.) připojení na databázi
4.) vytvoření tabulky (IF NOT EXISTS)...
$query = "SET NAMES UTF8";
$result = mysqli_query($conn,$query);
Diakritika se začala ukládat. Prosím, přijměte mé díky. Zachránil jste mě.
Jeste se podivej na:
https://www.php.net/manual/en/mysqli.set-charset.php
CitaceThis is the preferred way to change the charset. Using mysqli_query() to set it (such as SET NAMES utf8) is not recommended. See the MySQL character set concepts section for more information.
To ty pri kazdom dotaze kontrolujes, ci existuje db a tabulka?