Дайте съвет...

6 отговора 171 прегледа
#1

Дайте съвет...

Здравейте,
не знам дали въпроса ми е много за този форум, но сметнах че може да сте се сблъсквали със подобен проблем.
Работя по създаването на една търсачка, която не прави нищо повече от това да се рови във база от данни. Проблема се състои във това че за да може да търси във дадена таблица от базата трябва да се използва нещо такова LIKE '%$query_string%' това си е така. Само че до колкото съм запознат въпросната функция не работи правилно със кирилица и точно от това идват и проблемите. Знам че няма друг начин да се търси, но все пак някой хора оспяват да го направят.
Някой не може ли да даде някаква идея или съвет как да стане.

Отговор
в отговор на Cтoйчo #2

Re: Дайте съвет...

Направи си индексна таблица и търси по нея - ако не разбра идеята - погледни phpBB2 - там работят на този принцип. В най-горната тема е обсъждан въпроса с кирилизацията. Успех!

Отговор
в отговор на MySQL #3

Re: Дайте съвет...

Благодаря ти за предложението, идеята е добра, но чак пък такива работи не си струват. Просто ме дразни факта, че при търсене на някой думи съдържащи определени букви например като ц и други такива, резултатите са прекалено много и най-важното нямат нищо общо със това което търсиш.
Се си мисля че има нещо което се добавя към LIKE '%$query_string%' или нещо подобно, но незнам и затова питам.

Отговор
в отговор на Cтoйчo #4

Re: Дайте съвет...

Оправи си MySQL-а да ти разбира кирилицата коректно !

И въпроса ти е за клуб Бази данни - има и такова животно. Там е обсъждан многократно.

root@ro6avia#echo rm -rf * > /bin/seek_and_destroy
root@ro6avia#/bin/seek_and_destroy
Отговор
в отговор на ro6avia #5

Re: Дайте съвет...

Дали тук или там хората са горе долу едни и същи.
Колкото до доректната кирилица, май трябваше да доуточня че на мастото на което се хоства въпросното скриптче нямам достъп за подобни настройки.
Да не говорим че и да е оправена работата проблемите остават. Само не ми казвай че при теб тези неща работят перфектно като си си оправил кирилицата

Отговор
в отговор на Cтoйчo #6

Re: Дайте съвет...

Да стават. И сървъра и клиента на MySQL-а си говорят на кирилица перфектно. Използвам чарсет cp-1251.

Като не можеш да накараш хостинга имаш следните варианти :

1. Да го у хостинга и си искаш парите обратно.
2. Да ги накараш да ти го сложат тоз чарсет за определена база / таблица - MySQL 4.1.x позволява.
3. Да конвентираш кирлицата във хекс и да бачкаш с него. Пример
SELECT * FROM table WHERE opisanie LIKE '%0x51525354%', което ще рече
SELECT * FROM table WHERE opisanie LIKE '%АБВГ%'

root@ro6avia#echo rm -rf * > /bin/seek_and_destroy
root@ro6avia#/bin/seek_and_destroy
Отговор
в отговор на ro6avia #7

Re: Дайте съвет...

Мисля че проблема е във таблицата за това си зададох въпроса във База Данни. Както казах някаде бях чел че въпросната функция не работи правилно със кирилица и затова се захванах за това. Смятах че това е верно и щом някои успяват значи все пак има някакъв трик. Ама явно няма.

Благодаря ви за мненията които дадохте. Имаше някои интересни вариянта.

Отговор