Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pretraga latinicom u cirilicnoj bazi

[es] :: PHP :: Pretraga latinicom u cirilicnoj bazi

[ Pregleda: 2926 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

glavince
Ohrid/Macedonia

Član broj: 66412
Poruke: 246
62.162.243.*

Sajt: ohridnews.com


Profil

icon Pretraga latinicom u cirilicnoj bazi07.10.2005. u 00:07 - pre 225 meseci
Kako bi mogao pretrazivati text u MySql ako je text pisan kirilicom i latinicom. Recimo ako u text field za pretrazivanje pisem latinicom, da se prikazu rezultati koji su pisani i kirilicom i latinicom i obratno.
 
Odgovor na temu

_owl_

Član broj: 318
Poruke: 1043
*.vdial.verat.net.



+3 Profil

icon Re: Pretraga latinicom u cirilicnoj bazi07.10.2005. u 00:27 - pre 225 meseci
Recimo da znas da pretrazujes po jednom pismu (to valjda znas). Napravi dodatni napor i pokusaj da reci po kojima vrsis pretragu prebacis u drugo pismo. Znaci treba da si u mogucnosti da detektujes da li su unete trazene reci napisane cirilicom ili latinicom (sto mozda i nije jednostavno). U svakom slucaju uradis konverziju u drugo pismo i to je to.
Owl
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
*.yu1.net.

Sajt: https://avramovic.info


+46 Profil

icon Re: Pretraga latinicom u cirilicnoj bazi07.10.2005. u 14:55 - pre 225 meseci
ovo moze da presloji (eng. transliterate) tekst na stranici, pa mozda mozes da izvuces nesto iz toga...

srecno
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

glavince
Ohrid/Macedonia

Član broj: 66412
Poruke: 246
62.162.242.*

Sajt: ohridnews.com


Profil

icon Re: Pretraga latinicom u cirilicnoj bazi07.10.2005. u 19:23 - pre 225 meseci
Napravio sam array u stilu:
function prevod_kirilica($prevod){
$mk = array('A', 'a','B', 'b','V', 'v' i td.);
$en = array('A', 'a','B', 'b','V', 'v' i td);
return str_replace($en, $mk, $prevod);
}
i
function prevod_latinica($prevod){
$mk = array('A', 'a','B', 'b','V', 'v' i td.);
$en = array('A', 'a','B', 'b','V', 'v' i td);
return str_replace($mk, $en, $prevod);
}
query je Select * from tabela where nesto like prevod_kirilica($text, $prevod)% or prevod_latinica($text, $prevod)% i td...
Ovaj kod pretraziva po bazi i daje delimicno rezultate koje su pisani razlicnh karakteria.
Problem je u tome sto kirilica pravi razlike izmedzu mala i velika slova.
Primer: U tablici imam string Nikola,nikola,Nikola i nikola
Kada trazim rec koja pocinje sa N dobiljem rezultat Nikola, nikola i Nikola
Kada trazim rec koja pocinje sa n dobiljem rezultat Nikola, nikola i nikola
Sta treba da uradim kada bi se pretrazivalo kirilicom ili latinicom, malim ili velikim slovima da rezultat bude isti.

Izmena : Crveni text u stvari sam pisao kirilicoma ali je automatski pretvoren u latinicu . Mozda meni treba bas to.


[Ovu poruku je menjao glavince dana 07.10.2005. u 20:24 GMT+1]

[Ovu poruku je menjao glavince dana 07.10.2005. u 20:26 GMT+1]

[Ovu poruku je menjao glavince dana 07.10.2005. u 20:30 GMT+1]

[Ovu poruku je menjao glavince dana 07.10.2005. u 20:32 GMT+1]
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
*.yu1.net.

Sajt: https://avramovic.info


+46 Profil

icon Re: Pretraga latinicom u cirilicnoj bazi08.10.2005. u 12:40 - pre 225 meseci
probaj like da zamenis sa = i da izbacis znakove %
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

glavince
Ohrid/Macedonia

Član broj: 66412
Poruke: 246
62.162.242.*

Sajt: ohridnews.com


Profil

icon Re: Pretraga latinicom u cirilicnoj bazi08.10.2005. u 16:00 - pre 225 meseci
Like i % sluze mi za pretrazivanje kada otkucam samo prvo slovo nekog texta, u slucaji imena. Kao sto sam napomenuo, kada trazim imena koje pocinju sa N , pritiskom na taster N da se ispisu sva imena koje postoje ubazi i pocinju sa slovom N bez razlike dali su pisani kirilicom, latinicom, malim ili velikim slovima.
 
Odgovor na temu

glavince
Ohrid/Macedonia

Član broj: 66412
Poruke: 246
62.162.242.*

Sajt: ohridnews.com


Profil

icon Re: Pretraga latinicom u cirilicnoj bazi08.10.2005. u 18:47 - pre 225 meseci
Problem sam resio kad sam shvatio da PHP ne podrzava neke funkcije za rad sa stringovima kao sto su strtoupper i strtolower, kad je u pitanje UTF-8.
Zato sam morao da aktiviram extenziju php_mbstring.dll u php.ini da bi mogo da koristim funkciju
mb_convert_case

Kao sto sa napomenuo, napravio sam dve funkcije koje pretvaraju kirilicu u latinicu
i obratno, a SQL query sadrzi 4 uslova da za pretrazivanje:
$text = $_POST['baraj'];
$text_velika = mb_convert_case($text, MB_CASE_UPPER, "UTF-8");
$text_mala = mb_convert_case($text, MB_CASE_UPPER, "UTF-8");

$result = mysql_query("SELECT * FROM kontakt where "
.$_POST['kategorija']." like '".prevod_latinica($text_velika,$prevod)."%' or "
.$_POST['kategorija']." like '".prevod_latinica($text_mala,$prevod)."%' or "
.$_POST['kategorija']." like '".prevod_kirilica($text_velika,$prevod)."%' or "
.$_POST['kategorija']." like '".prevod_kirilica($text_mala,$prevod)."%'
order by ime");

Ali ipak mislim da postoji bolje resenje. Ako neko zna neka pise.
 
Odgovor na temu

[es] :: PHP :: Pretraga latinicom u cirilicnoj bazi

[ Pregleda: 2926 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.