Forum Webscript.Ru
Общие => Базы данных => Тема начата: RelaX от 03 Сентября 2004, 17:16:00
-
Сделал поиск по базе
$sql= " SELECT * FROM `index` WHERE text LIKE \\"%".$query."%\\" ";
И потом разбираю результаты поиска и я получаю некоторые результаты, в которых нет нужного мне слова.
Как можно избезать получения лишних строк?
-
скорее всего, провлема в кодировках. имеет смысл поискать по этому форуму по слову charset
-
mysql_query("set character set cp1251_koi8");
этим запросим можно менять кодировку...
если другие кодировки нужны, то просто можешь изменять "cp1251_koi8" формат если я не ошибаюсь <из такойто>_<в такую>...
так ж еесть хороший сайт http://www.mysql.ru там есть дока там все расписано...
ICQ 167495256
http://www.controlsql.h12.ru
-
Zapajtoj:
о просто можешь изменять "cp1251_koi8" формат если я не ошибаюсь <из такойто>_<в такую>..
ошибаетесь. подобная конвертация существует только для этих 2х кодировок.
-
Zapajtoj
этим запросим можно менять кодировку...
Интересно, я зачем её, собственно, менять?
В настройках http сервера, а так же в html страницах устанавливается нужная кодировка, в которой передаются данные.
Так же в настройках MySQL сервера устанавливается такая же кодировка по умолчанию...
-
Совет: Храни всё в таблице в одной кодировке, например, в UTF-8...
То есть принимая данные для вноса, конвертируй их из той кодировки, в которой они находятся - в одну...
А потом, выполняя поисковый запрос - конвертируй поисковый термин в ту, в которой хранишь...
Почему советую UTF-8 - ей похрену на язык написания... всегда два байта на 1 символ...
Некоторая избыточность, зато полная уверенность в работоспособности...
-
Dj Fly
все уже заработало, переустановил MySQL до 4 версии и все стало работать как часы