Bir isim listesini alfabetik sıraladınız ve sonuç tuhaf: "Çankaya" "Cebeci"den önce gelmiş, "Şahin" listenin ortasında kaybolmuş. Yazılım bozuk değil, başka bir alfabeye göre sıralamış.
Denemek için liste düzenleme aracını kullanabilirsiniz; sıralamayı Türk alfabesine göre yapıyor.
Harmanlama: alfabetik sıra bir kural kümesidir
Bilgisayarlar harfleri numara olarak saklıyor ama alfabetik sıra bu numaraların sırası değil. Hangi harfin nereye gireceğini harmanlama (collation) kuralları söylüyor ve bu kurallar dile göre değişiyor.
Türk alfabesinde altı harf, benzediği harften ayrı ve kendi sırasında duruyor:
- C'den sonra Ç
- G'den sonra Ğ
- I'dan sonra İ
- O'dan sonra Ö
- S'den sonra Ş
- U'dan sonra Ü
İngilizce harmanlamada ise Ç, C'nin aksanlı bir çeşidi sayılıyor: ikisi "aynı harf" kabul edilip karşılaştırma bir sonraki harfe geçiyor. Sonuç, "Çankaya"nın "Cebeci"den önce gelmesi, çünkü ikinci harfte a, e'den önce geliyor. Türkçede doğru sıra "Cebeci, Çankaya".
Excel bazen doğru, bazen yanlış sıralıyor
Sebep aynı: Excel sıralamayı Windows'un dil ayarına göre yapıyor. Türkçe bir sistemde çoğunlukla doğru sıralar; İngilizce kurulu bir makinede, ortak bir sunucuda ya da bulut sürümünde farklı bir dil devreye girdiğinde aynı dosya başka türlü sıralanır.
Bu yüzden "bende doğru çıkıyordu" cümlesi burada sık duyulur. Listeyi bir yere teslim edeceksen, sıralamanın hangi kurala göre yapıldığını bilmek önemli.
Asıl sessiz tuzak: tekilleştirme
Sıralama yanlış olduğunda göze çarpıyor. Tekrar temizliğinde ise hata görünmüyor.
"İSTANBUL" ve "istanbul" aynı kayıt sayılmalı. Bunun için satırlar küçültülüp karşılaştırılıyor, ama İngilizce küçültme İ harfini normal bir iye değil, arkasında ayrı bir nokta işareti taşıyan bir diziye çeviriyor. İki satır farklı kalıyor ve tekrar listede duruyor. Kimse fark etmiyor; liste "temizlendi" sanılıyor.
Aynı ailenin ters yönü büyütmede görünüyor: İngilizce kurallarla "iki" kelimesi "IKI" oluyor, Türkçesi ise "İKİ". Noktalı i büyürken noktasını kaybediyor ve kelime başka bir kelimeye dönüşüyor. Büyük küçük harf dönüştürme aracının tek iddiası bu ayrım ve iddia sınamayla ölçülüyor.
Sayılar: "madde 10" nereye gider?
Harf harf sıralayan bir araç için "1" karakteri "2"den önce gelir, yani "madde 10" "madde 2"den önce dizilir. İnsanın beklediği sıra bu değil. Doğru davranış, metnin içindeki sayıyı sayı olarak karşılaştırmak. Aracımız bunu yapıyor.
Pratik kurallar
- Sıralamayı teslim edeceğin yerde bir kez daha kontrol et. Aynı dosya başka bir makinede farklı sıralanabilir.
- Tekrar temizliğinden sonra sayıyı karşılaştır. Kaç satır girdi, kaç satır kaldı? Aracımız bu iki sayıyı ve atılan tekrar sayısını ayrıca gösteriyor, "temizlendi" demek yerine ölçüyor.
- Türkçe karakterler bozuksa önce onu düzelt.
çdolu bir liste zaten yanlış sıralanır; Excel CSV'yi neden bozuk açıyor yazısı sebebini, CSV Türkçe onarma aracı çözümünü anlatıyor.