Sunday, January 04, 2009

mysql select türkçe where aynı

google da bu keywordlerle arama yaptım ve sonuç bulamadım. ondan bu yazıyı yazim dedim. problemim "select * from table1 where col1='AC'" ve "select * from table1 where col1='AÇ'" sql cümlelerinin aynı sonucu getirmesiydi. ç=c gibi algılıyordu sorgum. bu durum aslında çok kötü değil sonuçda gereğinden fazla sonuç geliyor ama nokta atışı yapmamız gereken yerlerde fazlalık çıkarıyordu. başladım bakınmaya bu keywordlerden bi hayır yok habire mysql de türkçe problemi çeken forum postları çıkdı karşıma.

bu arada demeden geçemicem türkçe forumlar bildiğimiz arama spamı kaynıyor. seo ayarı verilmiş forumlar habire replike içerikden aynı sorular aynı cevaplarda oluşuyor. allahdan noscript kullanıyorumda reklam yığınıyla karşı karşıya kalmıyordum. kıl oluyorum hep aynı şeyleri görmekden. neyse bu birazda google amcamın hatası

durum mysqlde şöyle oluyor. eğer kolonunuzu "utf8_general_ci" ise bu istediğin dilde o kolona yaz ve büyük küçük harf duyarsız kullan demek yani AC ve ac aramalarımda aynı sonuç geliyor demek. ve aynı zamanda anlaşıldıki dile bakma ç = c gibide davran demek oluyormuş o kolonumu "utf8_turkish_ci" yaptım ve c!=ç oldu. yani türkçe duyarlı case insensitive kolon. ci sanırım case insensitive demek.

sanırım biraz performansı düştü sitemin ondan emin değilim sonuçda shared hostingde bir ingilizce sözlük.

No comments:

odd string diff

 https://leetcode.com/problems/odd-string-difference/ Beats 19.92% of users with Java   class Solution { public String oddString ( S...