Veritabanları ve programlama dilleri üzerinde Türkçe karakter hep sıkıntı olmuştur bizler için. Ancak araştırarak elde edemeyeceğimiz yok arkadaşlar
Bu başlıkta, MySQL üzerinde Türkçe karakterlerimizi nasıl düzgün şekilde sıralayacağımızı göreceğiz.
Yeni sürüm MySQL veritabanlarında karakter kodları var bildiğiniz üzere. Çoğu kişi için sıkıntı olduğu düşünülse de, aslında tam tersi
Karakter kodları sayesinde veritabanımız daha hızlı çalışıyor ve gördüğünüz bu tarzda sıralama işlemlerini başarıyla yapabiliyoruz.
Tamam, daha fazla tutmuyorum sizi. Hemen örnek bir veritabanı oluşturmanızı ve içerisini Türkçe karakterli kelimeler ile doldurmanızı istiyorum. Oluşturacağınız veritabanı evrensel olan utf8_general_ci karakter setine sahip olsun. Ve içerisine açacağınız tablo ve sütunlar da aynı özellikte olsun.
Hakan’ım o kadar uğraşamam, yap bir güzellik dersen de; al sana hazır bir veritabanı
Sql sorgunu çalıştır yeter. Veritabanından tablolara kadar oluşturulacaktır.
Türkçe karakter sıralama için örnek veritabanı indir
İşte geldik en heyecan verici noktaya
Veritabanımız hazır ve sorgular için sizi bekliyor durumdaysa, buyurun birkaç SQL kodu
SELECT * FROM tablo ORDER BY h collate utf8_turkish_ci ASC
SELECT * FROM tablo ORDER BY h collate utf8_turkish_ci DESC
SELECT * FROM tablo ORDER BY h3 collate utf8_turkish_ci ASC
SELECT * FROM tablo ORDER BY h3 collate utf8_turkish_ci DESC
Geçmiş olsun
Veritabanı karakter setim utf8_general_ci olarak geçiyordu. Ancak sorgularımda bunu değil, utf8_turkish_ci setindeki karakterleri göz önünde bulundurmasını istedim MySQL ‘dan
O kadar.
Bu yazı 17 Haziran 2008, 16:32 tarihinde yazılmış olup bu zamana kadar 720 kez görüntülenmiştir
Bu yazı 1 adet yorum almıştır ve bunların tamamı görüntülenmektedir.
Bahs ettiğiniz veritabanını indirip yüklediğimiz zaman zaten order by h3 yaptığınızda kendisi sıralıyor. Ekstra bir şeye gerek yok. Normalde sadece veritabanın utf8_general_ci olmasından değil, web sayfalarından veritabanına utf8 formatında veriler gönderip, bu verileri de utf8_general_ci olarak kaydettiğinizde sıralama yapamıyoruz. Veritabanında veri Yüksel Yıldırım - (normali Yüksel Yıldırım)
Yazını çok beğendim. Yeni yazılarının e-posta adresime gelmesini istiyorum :)