Перейти к контенту

Вопрос по поиску в БД


Рекомендуемые сообщения

Вопрос по работе поиска на форуме.

Точнее даже просто по поисковым запросам к БД

 

Делаю такой запрос (уж извините за пример):

SELECT * FROM `ibf_posts` WHERE post LIKE '%дурил%'

и получаю как результат посты содержащие слова "дурил", "дурик", "придурки" и прочее..

При этом, в найденых постах НЕ содержится комбинация "дурил"

(То есть, например, найдется пост типа такого "ну ты и дурик")

 

В чем грабли? :D

Или я не правильно понимаю суть работы команды LIKE.....????

Ссылка на комментарий
Поделиться на других сайтах

То ли я торможу..

А ты себе не противоречишь?

и получаю как результат посты содержащие слова "дурил", "дурик", "придурки" и прочее..

 

и

 

При этом, в найденых постах НЕ содержится комбинация "дурил"
Ссылка на комментарий
Поделиться на других сайтах

серьёзно.. у поиска иногда такой косяк есть на форуме даже... пишешь одно а находит такое, чего даже по сочетанию букв нету
Ссылка на комментарий
Поделиться на других сайтах

Song

уупс, опечаталя маненько :D

 

Суть в том, что поиск выдает И те посты, где НЕТ исходной комбинации букв.

 

Конечно, он находит и "правильные" посты, содержащие искомый текст

 

Но каким образом он находит все остальное?

В чем дело?

Ссылка на комментарий
Поделиться на других сайтах

а глюк происходит исключительно при поиске комбинаций с кириллицей?

Чесно говоря не проверял, так как в латинице искать практически нечего :D

Ссылка на комментарий
Поделиться на других сайтах

Вероятно не настроена или настроена неправильно кодировка в мускуле.
Ссылка на комментарий
Поделиться на других сайтах

Вероятно не настроена или настроена неправильно кодировка в мускуле.

не подскажешь, как её настроить? поиск вообще ничего связанного с кодировкой и мускулом не находит.. мускул 4.0.12

Ссылка на комментарий
Поделиться на других сайтах

я себе сам хостер.... //придётся ночью разговаривать самому с собой...//

 

а не знаешь хотя бы, где/у кого это можно узнать КРОМЕ хостера?

Ссылка на комментарий
Поделиться на других сайтах

Вообще ошибка в кодировке может влиять на группировку, сортировку по текстовым полям или на неправильный поиск по части слова с % как в примере автора топика, но так чтобы кодировка влияла так, чтобы вообще ничего не искалось, я такого не слышал.
Ссылка на комментарий
Поделиться на других сайтах

это я имел ввиду, что у вас поиск по этой теме в форуме ничего не находит, а то вдруг опять пошлёте на.. поиск.... :D

 

а так форум ищет, но и лиишние результаты находит

 

ещё интересная вещь - поиск в теме, что-нибудь ищешь (в теме игра в города), а он находит сообщения не только из этой темы но идругие, хотя не должен. тоже кодировка?

Ссылка на комментарий
Поделиться на других сайтах

Song

Вероятно не настроена или настроена неправильно кодировка в мускуле.

Не подсажешь, как проверить правильность настроек?

Где это можно посмотреть?

Чтобы не кидать в хостера тупой формулировкой "доктор, кодирвовчку пофиксите" ;)

 

Aleks

ещё интересная вещь - поиск в теме

сорри, а что это за зверь "поиск в теме"?

В Инвижине вроде нет поиска в одном заданном топике ..... или я что-то пропустил? :D

Ссылка на комментарий
Поделиться на других сайтах

2ImUgh

Выставленная кодировка в мускуле долна совпадать с кодировкой, используемой в базе.

Т.е. например, если ты в своём форуме пишешь по-русски, то должна стоять Win1251

А по-умолчанию там по-моему ISO

 

Если хост юниксовый, то изменяется она обычно в my.cnf

Ссылка на комментарий
Поделиться на других сайтах

SQL System Variables

в админке

Изменено пользователем Song
Ссылка на комментарий
Поделиться на других сайтах

2ImUgh

Выставленная кодировка в мускуле долна совпадать с кодировкой, используемой в базе.

Т.е. например, если ты в своём форуме пишешь по-русски, то должна стоять Win1251

А по-умолчанию там по-моему ISO

 

Если хост юниксовый, то изменяется она обычно в my.cnf

по умолчанию (по крайней мере у меня) стоит latin1. Кстати я долго изучал мануал по мускулу, даже нашёл команд смены кодировки, но он почему-то всё равно заявлял, что я пытаюсь постаить неизвестную ему кодировку, хотя в system variables в списке поддерживаемых она есть

Ссылка на комментарий
Поделиться на других сайтах

Song

SQL System Variables

в админке

latin1

 

а лишнего разве не находит?

 

вроде как нет.

есть идеи как пофиксить? :D

Ссылка на комментарий
Поделиться на других сайтах

Хостер это может только сделать.

Но по идее, раз там в списке есть Win1251, то без разницы, пусть какая угодно стоит по умолчанию. Всё-равно мускул будет писАть данные в кодировке исходного текста.

Ссылка на комментарий
Поделиться на других сайтах

Язык мой - враг мой

 

Song

Я имел ввиду, есть ли идеи, как баг с поиском пофиксить.

У тебя дефолтная кодировка такая же как и у нас (latin1), но, как ты говоришь, ничего лишнего не ищет.

У нас-то почему ищет? :D

 

Но по идее, раз там в списке есть Win1251

есть.

Ссылка на комментарий
Поделиться на других сайтах

Вопрос может только хостер дать. Может кривой мускул ?

Скрипт здесь не причём ИМХО.

Хотя поиск точно по LIKE ? Может полнотекстовый ?

Ссылка на комментарий
Поделиться на других сайтах

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.