Проблемы с поиском в БД.
Aleksey 22.09.2002 14:05
Некоторое время назад у меня был глюк с кодировками в MySQl базе.
К примеру слово "ВАЗ" у меня было эквивалентно слову "БАЗ", "ДАЗ" и т.д.
PAF посоветовал перекодировать базу в windows-1251 путем добавления в sql запрос строки
set character set cp1251_koi8.
И строку
$connect_string[
mysql://root:root@localhost/database]
изменить на
$connect_string[
mysql://root:root@localhost/database?charset=cp1251_koi8]
Так я и сделал.
Проблема с "ВАЗ", "БАЗ", "ДАЗ" исчезла, но появилась другая похожая.
Делаю поиск того же ваз, только теперь маленькими буквами.
И получаю вместо найденого слова "ВАЗ" слова "телевизор" и "база". Я так понимаю он выделил из этих слов "виз"
и "баз".
С английскими символами такой проблемы не существует. Ищешь "lg" и находишь "LG".
Запрос на поиск выглядит примерно таким образом:
^table::sql{
select id, field1, field2
from database
where field1 like '%$form:search%' or field2 like '%$form:search%'
order by id desc
}
Дамп и импорт я делал с помощью DBTools.
- Проблемы с поиском в БД., Aleksey 22.09.2002 14:05