xRay
Новичок
LIKE глючит с русскими буквами ф фы фф
Я пишу поисковый скрипт и естественно использую в запросе к базе LIKE
ну что-то типа:
$result1 = sql_query("select sid, title, time, hometext, bodytext, notes from ".$prefix."_stories s where s.hometext LIKE '%".$matches[0][$i]."%' OR s.bodytext LIKE '%".$matches[0][$i]."%' OR s.notes LIKE '%".$matches[0][$i]."%' OR s.title LIKE '%".$matches[0][$i]."%'", $dbi);
Так вот, после выполнения когда в запросе $matches[0][$i] становиться = ф или фы (или фф) вываливаются почти все записи из таблицы. Я сто раз смотрел ни фига там нет в словах фф. Самый прикол такое твориться только с запросами в которых присытствуют русские буквы.
Вообщем странно это.
Я пока пошел по пути перепроверки, а не входит-ли искомое слово в текст который храниться в базе. И что самое прикольное preg_match_all выдает что входят и фф фы, только вот в его выводе пусто (что само по себе правильно).
Я отказался от preg_match_all и использую ereg.
Может кто занет в чем грабли? Или мож кто вкурсе почему ereg и иму подобные кейс не чуствительные не хотят работать как им положено т.е. пропускать через себя буквы не глядя на регистр и давать нормальные результаты(да/нет и т.д.)
Я пишу поисковый скрипт и естественно использую в запросе к базе LIKE
ну что-то типа:
$result1 = sql_query("select sid, title, time, hometext, bodytext, notes from ".$prefix."_stories s where s.hometext LIKE '%".$matches[0][$i]."%' OR s.bodytext LIKE '%".$matches[0][$i]."%' OR s.notes LIKE '%".$matches[0][$i]."%' OR s.title LIKE '%".$matches[0][$i]."%'", $dbi);
Так вот, после выполнения когда в запросе $matches[0][$i] становиться = ф или фы (или фф) вываливаются почти все записи из таблицы. Я сто раз смотрел ни фига там нет в словах фф. Самый прикол такое твориться только с запросами в которых присытствуют русские буквы.
Вообщем странно это.
Я пока пошел по пути перепроверки, а не входит-ли искомое слово в текст который храниться в базе. И что самое прикольное preg_match_all выдает что входят и фф фы, только вот в его выводе пусто (что само по себе правильно).
Я отказался от preg_match_all и использую ereg.
Может кто занет в чем грабли? Или мож кто вкурсе почему ereg и иму подобные кейс не чуствительные не хотят работать как им положено т.е. пропускать через себя буквы не глядя на регистр и давать нормальные результаты(да/нет и т.д.)