MySQL için bir utf8_unicode_cs harmanlama olup olmadığını bilen var mı? Şimdiye kadar, aramalarım kurudu. Eğer henüz mevcut değilse, bir tane oluşturmak oldukça doğru mu? Ya da bir şekilde utf8_unicode_ci veya utf8_bin kullanın ama bir utf8_unicode_cs harmanlamasından ne beklenebilir?Bir utf8_unicode_cs harmanlaması var mı?
10
A
cevap
11
Aynı sorunla karşılaştım ve bazı Googling'lerden sonra, MySQL'in içermediği görülüyor. Için senin deyiminle
1) DB harf duyarlılığı sağlamak için, "Onu taklit":
- sıkı seçer:
SELECT "Joe"
utf8_bin
harmanlama
Bu veriyor için tablo sütununu ayarlamak "joe"/"joE"/"jOe"/etc - katı UNIQUE diziniyle satırları döndürmeyecek: UNIQUE dizinine sahip bir sütun, farklılıkları farklı değerler olarak ele alacaktır. Örneğin, bir utf8_unicode_ci harmanlaması kullanılıyorsa, "joe" içeren bir tabloya "Joe" eklenmesi bir "Yinelenen anahtar" hatasını tetikleyecektir. Ut8_bin kullanılıyorsa, "Joe" eklenmesi iyi sonuç verecektir.
2) sonuçlarında doğru sıralamayı almak için: SQL sorgusuna harmanlama ekleyin:
SELECT ... ORDER BY column COLLATE utf8_unicode_ci