Autor Zpráva
Taddy Mason
Profil
Na stránke mám kód:
mb_internal_encoding("UTF8");

$a = $_POST['abc'];
        $con->query("INSERT INTO ab(plan,dlzka) VALUES('$a','0')");

A v DB mám nastavené kódovanie na utf8_slovak_ci, no napriek tomu sa mi v DB namiesto ČŠ atď. ukazujú random znaky.
Kajman
Profil
Musíte nastavit korektně připojení k databázi
Některé časteji řešené dotazy pro MySQL - FAQ » MySQL a čeština
a escapovat řetězce pro vkládání do dotazů
php.net/manual/en/mysqli.real-escape-string.php
Taddy Mason
Profil
Kajman:
V db.php mám

$con = new mysqli("localhost", "***", "***", "***");  
   mysql_set_charset("utf8");

a potom

a = mysqli_real_escape_string($con,$_POST['abc']);

Napriek tomu sa ukladá do DB všetko okrem ČŠŤ atď. a namiesto toho znaky ako ýť
Tomášeek
Profil
Taddy Mason:
mysql_set_charset("utf8"); neudělá nic, s mysqli o řádek výše a níže to nemá nic společného, je to úplně jiná rodina funkcí.
Taddy Mason
Profil
Problém vyriešený, pridal som do kódu:

mysqli_set_charset($con,"utf8");

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: