Jump to content
php.lv forumi

garumziimju un miikstinaajumu ziimju ignoreeshaana


andrisp

Recommended Posts

Nu var taisīt uber kveriju ar mysql Regexpiem [š|s][ķ|k][ū|u]nis bet vienkāršāk kā jau Delfins teica ir saglabāt papildus lauku bez liekajiem simboliem un meklēt tajā (pirms tam protams ievadīto kveriju arī pārtaisīt tikai uz latīņu burtiem).

Link to comment
Share on other sites

Nu var taisīt uber kveriju ar mysql Regexpiem [š|s][ķ|k][ū|u]nis bet vienkāršāk kā jau Delfins teica ir saglabāt papildus lauku bez liekajiem simboliem un meklēt tajā (pirms tam protams ievadīto kveriju arī pārtaisīt tikai uz latīņu burtiem).

24833[/snapback]

 

mosh vareetu uzrakstiit kaadu inchiigu fju kas automaatiski uztaisa regexpu visai rindai kas tiek padota..

 

bet cik tas ir droshi straadaat ar latvieshu burtiem ieksh php un mysql ?

 

vai kur $rez['text'] ņemts no mysql tabulas un satur 'Šķūnis' (bet piemeeram citaa encodingaa, piem, utf-8)

if ('Šķūnis' = $rez['text']) {
}

buus true ?

 

man nav iisti izpratnes par tiem encodingiem un kaa tur viss notiek.

Edited by andrisp
Link to comment
Share on other sites

Nu visi mīkstināmie burti jārepleiso par [a|ā] utt..

Sarakstīt arrayu ar repleisiem ganjauka varēsi pats, bet diezvai tas atmaksājas..

 

if ('Šķūnis' ==  $rez['text']) {

Būs true tad ja tev saglabātais php faila encodings sakritīs ar no datubāzes saņemto charsetu. Proti ja tev DB ieraksts būs win1257 encodējumā bet php failu labosi UTF8 (vai arī otradi) tad nosacījums neizpildīsies.

Ja DB ir UTF8 tad arī php fails jāseivo kā UTF8, bet ja CP1257 tad attiecīgi arī fails tā, jebšu jāizmanto PHP (iconv/mb funkcijas) vai arī jāieseto MySQLam kādā charsetā rezultāts jāatgriež.

Link to comment
Share on other sites

ja pareizi sapratu tad var arī taisīt nedaudz kreisu variantu:

1. getojam search stringu ar garumzīmēm

2. uzlaižam replaci un repleisojam visu ar parastiem burtiem

3. tagad mums ir divi stringi - ar un bez garumzīmēm

4. taisam queriju ar norādi, ka lauks var saturēt vai nu vienu vai otru stringu

 

pie nelielām bāzītēm domājams šitais variants tīri labi darbojas, bez papildus tabulu alterēšanas :)

Link to comment
Share on other sites

ja pareizi sapratu tad var arī taisīt nedaudz kreisu variantu:

1. getojam search stringu ar garumzīmēm

2. uzlaižam replaci un repleisojam visu ar parastiem burtiem

3. tagad mums ir divi stringi - ar un bez garumzīmēm

4. taisam queriju ar norādi, ka lauks var saturēt vai nu vienu vai otru stringu

 

pie nelielām bāzītēm domājams šitais variants tīri labi darbojas, bez papildus tabulu alterēšanas :)

24840[/snapback]

Neiet īsti cauri, jo juzeris var ierakstīt 'sķunis' 'šķunis' 'skūnis' utt.. un nav mehānisma kā tu OR vari uztaisīt neizmantojot regexpu konkrētiem mīkstināmajiem burtiem..

līdz ar to papildus lauks ar tikai 'skunis' un search stringa repleiss uz 'skunis' dos vēlamo un vienkāršāko efektu..

Link to comment
Share on other sites

Neiet īsti cauri, jo juzeris var ierakstīt 'sķunis' 'šķunis' 'skūnis' utt.. un nav mehānisma kā tu OR vari uztaisīt neizmantojot regexpu konkrētiem mīkstināmajiem burtiem..

līdz ar to papildus lauks ar tikai 'skunis' un search stringa repleiss uz 'skunis' dos vēlamo un vienkāršāko efektu..

24841[/snapback]

 

 

ok - got tha point :) aizdomājos par viena virziena (translita) searchu.

Link to comment
Share on other sites

×
×
  • Create New...