Проблема с регистром при поиске в БД

Yura

Новичок
Проблема с регистром при поиске в БД

Использую запрос к БД mysql_query ("SELECT * FROM folders WHERE f_name LIKE '%".$sword."%'");
для поиска по таблице folders. Проблема в том, что в f_name хранятся данные, состоящие из строковых и прописных букв. Т.е., может быть, например, слово "Отрасль", может быть "ОТРАСЛЬ", а может и "отрасль". Такой запрос позволяет осуществлять поиск только слов, написанных в том же регистре, что и в БД. Как сделать так, чтобы запрос правильно выполнялся при любом написании фразы пользователем?
 

Yura

Новичок
С английскими-то словами проблем нет. А вот с кирилицей проблема.
 

0xHH

Новичок
Можно смотреть в сторону UPPER(str).

-~{}~ 08.07.06 21:06:

База данных в уникоде?

-~{}~ 08.07.06 21:08:

SELECT UPPER('мама')

выводит МАМА
 

Yura

Новичок
Автор оригинала: 0xHH
Можно смотреть в сторону UPPER(str).

-~{}~ 08.07.06 21:06:

База данных в уникоде?


Не знаю. А как проверить?


Пробовал использовать UPPER . Не хочет работать. Сейчас посмотрю Manual. Проблемка интересная. Одно из значений поля - "ОСНОВНАЯ ХИМИЯ". Ввожу поле поиска на сайте "ХИМИЯ". Все работает. Ввожу химия, не находит. "ХиМи", находит нормально. Ввожу хим, находит и основную химию и еще одно поле, которое не содержит "хим". Это значение - первое в таблице. Самое интересное, что по остальным полям поиск осуществляется нормально.

Ничего не пойму.


-~{}~ 08.07.06 21:08:

SELECT UPPER('мама')

выводит МАМА
-~{}~ 08.07.06 21:26:

Сейчас проверил другие запросы. Проблемка с двумя-тремя буквами и для других слов повторяется. Ищется что надо + еще и пара-тройка других появляется, которые не должны.
 
Сверху