Ako sam ja dobro razumeo sta pise
link-1 i
link-2 izgleda da to nije moguce!
link-1:
For example, the following equalities hold in both utf8_general_ci and utf8_unicode_ci:
Ä = A
Ö = O
Ü = U
link-2:
Non-UCA collations have a one-to-one mapping from character code to weight. In MySQL, such collations are case insensitive and accent insensitive. utf8_general_ci is an example: 'a', 'A', '脌', and '谩' each have different character codes but all have a weight of 0x0041 and compare as equal.
Ono sto mene zbunjuje je sto ovo sve radi kako treba ako se postavi konekcija latin1, a tabela definise kao
Kôd:
SET NAMES 'latin1';
CREATE TABLE a_test_latin (
naziv VARCHAR(50) CHARACTER SET latin1 COLLATE latin1_general_ci
) ENGINE=INNODB DEFAULT CHARSET=latin1;
INSERT INTO a_test_latin (naziv) VALUES ('Čačak') , ('Ćirko') , ('Čovek') , ('Car') , ('Čarna');
SELECT * FROM a_test_latin
WHERE naziv LIKE 'Č%' COLLATE latin1_general_ci;
naziv
Čačak
Čovek
Čarna
Ovako je trenutno na produkciji i poredjenje radi ali je problem sto je kroz konekciju latin1 guran utf8, pojedine kolone su definisane kao ut8, pa se za te kolone u bazi vidi 'djubre'. Nikako da nadjem resenje kako da eliminisem istovremeno oba problema i poredjenje i 'djubre' u bazi!