Мне нужно выполнить поиск по имени в базе данных на основе набора ключевых слов. результат должен быть чувствительным к акценту и нечувствительным к регистру.
в соответствии с решением, которое я нашел здесь плюс несколько модификаций для учета регистра без учета регистра, я использовал следующий код:
$sql = "SELECT name FROM table_names WHERE LOWER(name) LIKE _utf8 '%".strtolower($keyword)."%' COLLATE utf8_bin";
это не работает для меня, когда поисковое ключевое слово содержит акценты. но странно то, что этот запрос хорошо работает в phpMyAdmin (но я где-то читал, что это не должно быть надежным). в чем здесь может быть проблема?
UPDATE:
я изменил свой код:
$sql = "SELECT name FROM table_names WHERE LOWER(name) LIKE LOWER(_utf8 '%$keyword%') COLLATE utf8_bin";
но у меня все еще нет результатов.
спасибо!