Ajax запрос php, Mysql с русскими словами не работает( все кодировки в порядке)
Извините за такой глупый вопрос, я просмотрел очень много статей и ссылок с данной проблемой , но ни одна мне не помогла. В чем суть проблемы, я делаю поиск для своего сайта , через Ajax. С англ символами все работает, а с русскими нет. Вот сам Ajax запрос
$('.who').bind("change keyup input click", function() {
if (this.value.length >= 2) {
$.ajax({
url: 'scripts/search.php',
data: 'referal=' + encodeURIComponent(this.value),
type: 'GET',
cache: false,
dataType: 'json',
error: _onAjaxError,
success: function(response) {
if (response.code === 'success') {
console.log(response)
} else {
_onAjaxError(response);
}
}
});
}
})
подключение к бд
define('DB_HOST', '');
define('DB_USER', '');
define('DB_PASSWORD', '');
define('DB_NAME', '');
function connectDB() {
$errorMessage = 'Невозможно подключиться к серверу базы данных';
$conn = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
if (!$conn)
throw new Exception($errorMessage);
else {
$query = $conn->query('set names utf8');
if (!$query)
throw new Exception($errorMessage);
else
return $conn;
}
}
Сама база данных все таблицы и столбцы в utf-8. Вот код в php, в php принимаю данные urldecode($_GET['referal']);
function getGoods($options, $conn) {
$referal = $options['referal'];
$query = "
SELECT * FROM `goods` WHERE `good` like '%$referal%'
";
$data = $conn->query($query);
return $data->fetch_all(MYSQLI_ASSOC);
}
Если например сделать $referal = 'мыло', то запрос работает отлично, но если я в браузере руками вбиваю "мыло", то приходит пустой массив. https://i.stack.imgur.com/4nCXu.png