Как правило, если не сделать дополнительных действий, то русский текст при получении из базы данных будет выводится абракадаброй или вопросиками. Для избежания таких проблем следует описанных ниже правил.
Правило 1
База данных и таблицы в ней должны быть в
кодировке utf8_general_ci
.
Правило 2
Сам PHP файл должен быть в кодировке utf8
.
Правило 3
В начале PHP файла должен быть следующий HTML тег:
<meta charset="utf-8">
Правило 4
На всякий случай сразу после команды mysqli_connect
добавьте такое запрос:
<?php
mysqli_query($link, "SET NAMES 'utf8'");
?>
Дополненный тестовый код
В предыдущем уроке я привел вам тестовый код для проверки общей работоспособности. Давайте дополним его с учетом описанных правил для работы с кодировками:
<meta charset="utf-8">
<?php
$host = 'localhost'; // имя хоста
$user = 'root'; // имя пользователя
$pass = ''; // пароль
$name = 'mydb'; // имя базы данных
$link = mysqli_connect($host, $user, $pass, $name);
mysqli_query($link, "SET NAMES 'utf8'");
$query = 'SELECT * FROM users';
$result = mysqli_query($link, $query) or die(mysqli_error($link));
var_dump($result);
?>
В следующих уроках я для краткости не буду приводить весь этот код, а буду показывать только код отправки запросов. Но вы имейте ввиду, что у вас должен быть полный код.