[ johnnyc @ 16.07.2010. 08:40 ] @
Pozdrav,

O ovoj temi se raspravljalo i ranije, sada samo proveravam da li ima nekih novosti...

Dakle, treba da napisem PHP aplikaciju koja ce vrsiti pretragu za podacima u MySQL tabeli.

Problem je sto su pojedini podaci upisani u latinicnom pismu, dok su pojedini upisani u cirilicnom, a moj search treba da ih pronalazi bez obzira u kom su pismu upisani i u kom se pismu zadaje pretraga.


Da li je to moguce resiti upotrebom PHP ili MySQL funkcija, ili je potrebno koristiti sisteme za preslovljavanje?


Unapred hvala na odgovoru.

[ Jbyn4e @ 16.07.2010. 09:56 ] @
Ja bih rekao jedino preslovljavanjem. Koliko znam ne postoji u mysql-u neka funkcija koja ce da pretvori iz cirilice u latinicu (mozda i postoji, ali ja nisam upoznat sa time).

Cak i preslovljavanjem verovatno ce biti problema sa nj, lj... (tipa injekcija koja se na cirilici isto pise, sa dva slova (N i J)).
[ Nikola Poša @ 17.07.2010. 11:58 ] @
Citat:
johnnyc: Problem je sto su pojedini podaci upisani u latinicnom pismu, dok su pojedini upisani u cirilicnom

Ako pod tim "pojedini podaci" misliš na redove u tabeli, onda se bolje baci na sređivanje iste, kako bi celu tabelu normalizovao na jedno pismo. A ako je u pitanju aplikacija koja omogućava pregled sadržaja na latinici/ćirilici, pri čemu npr. u bazi čuvaš latinične i ćirilične varijante tih nekih unosa, onda je logičnije da tu pretragu radiš u odnosu na trenutno odabrano pismo. Npr. ako taj parametar za izbor pisma ide kroz GET, onda ćeš njega koristiti i kao dodatni uslov u pretrazi.
[ johnnyc @ 17.07.2010. 12:35 ] @
Citat:
Ako pod tim "pojedini podaci" misliš na redove u tabeli, onda se bolje baci na sređivanje iste, kako bi celu tabelu normalizovao na jedno pismo. A ako je u pitanju aplikacija koja omogućava pregled sadržaja na latinici/ćirilici, pri čemu npr. u bazi čuvaš latinične i ćirilične varijante tih nekih unosa, onda je logičnije da tu pretragu radiš u odnosu na trenutno odabrano pismo. Npr. ako taj parametar za izbor pisma ide kroz GET, onda ćeš njega koristiti i kao dodatni uslov u pretrazi.



Da, negde pise 'Beograd' na latinici, a negde na cirilici.


Ali nije poenta sta je logicnije, vec sta se trazi od mene...
[ kazil @ 17.07.2010. 13:06 ] @
Ako u istoj tabeli imas oba pisma ili sredi ili, ako ne zelis da sredjujes, mozes recimo da pojam po kojem se pretrazuje da preslovis u oba pisma pa onda lupis u sql npr WHERE (pojam LIKE '%pretraga_na_latinici'% OR pojam LIKE '%pretraga_na_cirilici%')
[ moonstream @ 07.10.2010. 07:29 ] @
U principu, pravio sam nesto slicno, ali trenutno nemam pristupa tim fajlovima (crk'o hard) pa cu pokusati opisno:

Treba da odradis pretragu u par koraka, prvo onako kako je sam pojam ukucan, i naravno sacuvas rezultate. Zatim proveris da li je pojam ukucan cirilicom ili latinicom i odradis konverziju u drugo pismo. Zatim nova pretraga sa pojmom prebacenim u drugo pismo. Rezultate mozes da spojis u jedan niz nad kojim ces raditi sortiranje.

Nadam se da ovo pomaze i ima smisla.