Задавайте вопросы, мы ответим
Вы не зашли.
Есть база данных и сайт, извлекающий из него информацию. Вся база данных и таблицы в ней, сравниваются с utf8_general_ci. Все строки этих таблиц также сравниваются с utf8_general_ci. Все файлы на сайте в кодировке UTF-8 без BOM, и практически на каждой страничке есть метатег с указанием кодировки UTF-8. База данных хранит в себе данные и на латинице, и на кириллице. При подключении к БД с сайта сразу прописываю:
mysql_query('SET NAMES utf8');
mysql_query('SET CHARACTER SET utf8');
Затем, произвожу поиск по ключевому слову $keywd:
$db = @mysql_connect('localhost','USER','PASSWORD') or die("Подключение к MySQL-серверу не удалось!");
mysql_query('SET NAMES utf8');
mysql_query('SET CHARACTER SET utf8');
mysql_select_db('DATABASE',$db);
$res = @mysql_query("SELECT *
FROM `DATABASE`.`TABLE`
WHERE category='$cat_en' and request='$req_en'
and(`lot` LIKE '%$keywd%');
Проблема заключается в том, что когда я ввожу слово на латинице, либо цифры, поиск в БД производится успешно, и я получаю результат, а когда ввожу слово на кириллице, результатов поиска нет. Подскажите пожалуйста, в чем может быть проблема?
Переменные сервера хостинга:
character set client utf8
(Глобальное значение) latin1
character set connection utf8
(Глобальное значение) latin1
character set database latin1
character set filesystem binary
character set results utf8
(Глобальное значение) latin1
character set server latin1
character set system utf8
character sets dir /usr/share/mysql/charsets/
collation connection utf8_general_ci
(Глобальное значение) latin1_swedish_ci
collation database latin1_swedish_ci
collation server latin1_swedish_ci
Неактивен