DMRY.NET’e Hoşgeldiniz
Nerdeyim? GirişMySQL › MySQL ile Türkçe Karakter Sıralaması

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.

Karakter Kodu Önemli

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.

Örnek veritabanı oluşturalım

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

Mysql Türkçe karakter sıralama SQL sorgusu

İş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 :)

Sonuç

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 572 kez görüntülenmiştir

Bu yazı 1 adet yorum almıştır ve bunların tamamı görüntülenmektedir.

#1 – 11 Temmuz 2008 , 15:24

Murat

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)

  • Yorumlar: 1
  • İlk Yorum:
    11 Tem. 2008
YAZIYI BEĞENDİN Mİ?

Yazını çok beğendim. Yeni yazılarının e-posta adresime gelmesini istiyorum :)

Haberler RSS Yorumlar RSS

© 2008 Tüm hakları dmRy.net'e aittir.
Kullanım şartları yerine getirilmeden hiçbir şekilde kopyala-yapıştır yapılamaz, yazılar ve bilgiler kullanılamaz.