[ voja15 @ 06.07.2010. 15:08 ] @
Pozdrav svima.
Imam problem sa našim slovima u mysql bazi. Encoding mi je utf8 i slova se prikazuju normalno, međutim prilikom pretrage baza ne pravi razliku između č,ć i c, kao ni između ž i z. Pomagajte, ne znam u čemu je fora.
Hvala unapred!
[ bogdan.kecman @ 06.07.2010. 15:13 ] @
ni ne treba da ih razlikuje, u tome se odlikuje podrska za karakter setove i kolacije

http://dev.mysql.com/doc/refman/5.1/en/charset.html

ako kazes da je neko polje sa nekom kolacijom, za sortiranje i poredjenje se koriste pravila iz te kolacije. po tim pravilima mala i velika slova su ista, c je isto kao i to slovo sa "kvacicama", S je isto sto i š i Š i S ... etc

uvek mozes da odaberes binarnu kolaciju koja razlikuje sve karaktere
[ voja15 @ 06.07.2010. 17:38 ] @
Ostavio sam na kraju ovu kolaciju. Hvala na objašnjenju.
[ bogdan.kecman @ 06.07.2010. 21:56 ] @
obrati paznju da ti mozes da promenis kolaciju samo za jedan upit ... dakle mozes da ostavis tu default kolaciju "globalno" a kada ti treba da razlikujes velika/mala/c od ch etc ... onda uradis

Code:

     SELECT *
     FROM t1
     WHERE _latin1 'Müller' COLLATE latin1_german2_ci = k;

     SELECT *
     FROM t1
     WHERE k LIKE _latin1 'Müller' COLLATE latin1_german2_ci;


[ Miroslav Ćurčić @ 06.07.2010. 22:13 ] @
Nisam znao ovo za 'collate' na nivou upita, hvala.
Do sada sam resavao problem tako sto sam ciljnoj koloni stavljao 'collate utf8_bin'
[ johnnyc @ 20.07.2010. 16:23 ] @
Da li postoji neko "univerzalno resenje" kada je u pitanju cirilica, da ne pravi razliku izmedju velikih i malih slova?

Dakle, ako je napisano na cirilici, Vuk Karadžić bude isto kao i vuk karadžić?

[ bogdan.kecman @ 20.07.2010. 16:35 ] @
ako u bazi nije smece i ako nije koristena _bin kolacija mysql NE PRAVI razliku izmedju velikih i malih slova (kako latinice tako i cirilice). Ako nije koristena _bin kolacija a pravi razliku to znaci da ti je u bazi SMECE.

procitaj: http://www.mysql.rs/2010/07/smece-u-bazi-po-ko-zna-koji-put/