|
|
|
| Нужно произвести поиск в базе по словам при этом 1)на различных языках и 2)без учета регистра слов.
Применил следующий запрос:
'SELECT * FROM 'word_tbl' WHERE BINARY LOWER('word')=LOWER("'.$word.'")'
(написана на пхп, $word - переменная, слово которое ищется)
Она годиться для слов на латинском, но если поискать на русском, то все испортит LOWER(). Эта мускуловская ф-я зависит от настроек БД и по умолчанию кодировка там для латинских(если я правильно понял). А мне надо независимость от каких-либо настроечек.
Заранее благодарен за помощь | |
|
|
|
|
|
|
|
для: Iz_naroda
(19.05.2006 в 16:22)
| | Вообще поиск
SELECT * FROM word_tbl WHERE word LIKE '.$word.'
|
должен обеспечивать регистронезависимый поиск, если выбрана соответствующая сортировка. У вас сколько и какие языки? Какая версия MySQL используется? | |
|
|
|
|
|
|
|
для: cheops
(19.05.2006 в 22:41)
| | Версия Mysl 4.020 и выше.
Покапался в форумах, но все равно вопросы остались:
1) Если я установлю кодировку для базы utf-8, то тогда все запашет для любых языков и без учета регистра. То есть как я хотел. Но на хостере есть и другие сайты и вряд ли мне разрешат изменить кодировку, ведь, как я понимаю, изменение кодировки для меня означает изменить его и для других пользователей хостинга. Так ли это?
Что в этом случае делать? | |
|
|
|
|
|
|
|
для: cheops
(19.05.2006 в 22:41)
| | 2) 2) Еше я нашел, что можно установить кодировку для данного соединения клиента к сайту. SET NAMES utf8. Незнаю, будут ли при этом выполняться выше перечисленные мои условия, проверить не могу - выдает ошибку -
Unknown system variable 'NAMES'
Версия Мускула 4.020. Может нужна другая версия, если да то какая? И будут ли выполняться условия? | |
|
|
|
|
|
|
|
для: Iz_naroda
(20.05.2006 в 08:49)
| | Новая система кодировок и оператор SET NAMES введены в MySQL, начиная с версии MySQL 4.1. | |
|
|
|
|
|
|
|
для: cheops
(20.05.2006 в 12:19)
| | а условие WHERE MATCH(... поле ...) AGAINST('слово') не спасает? это полнотекстовый поиск, для этого у поля должен стоять индекс FULLTEXT. я только им и ищу во многоязычных таблицах. на utf-8 очень не хочется переходить. | |
|
|
|