Всё очень просто, в БД сравнение должно быть utf8_general_ci, а при каждом подключении следует выполнять следующие запросы:
// Подключение к БД
$sql_connection = new mysqli(SQL_HOST, SQL_LOGIN, SQL_PASSWORD, SQL_DATABASE);
// Обработка ошибки
if ($sql_connection->connect_errno) {
throw new Exception("Connection error);
}
$sql_connection->query("SET NAMES 'utf8'");
$sql_connection->query("SET CHARACTER SET 'utf8'");
$sql_connection->query("SET SESSION collation_connection = 'utf8_general_ci'");
/* ВАШ КОД */
//Закрываем соединение
$sql_connection->close();