Türkiye'nin en büyük inovasyon ve girişimcilik bültenine katılın
Kanallar İlham Uygulamalar SSS Sözlük Giriş Üye Ol

Yazılım Geliştirme

/yazilim · 8.YIL

Fikirden çalışan ürüne yazılımın her hali: web, backend, veritabanı, mimari kararlar, kod kalitesi ve araçlar. Dil ve framework fark etmez; yazan herkesin ortak kanalı.

25 içerik Katıl
#yazılım geliştirme akışına dön
@100yuze · 34 gün önce

türkçe karakter ve sıralama sorunları: her projede aynı yere takılıyoruz

Neredeyse her projede aynı hatalar tekrar ediyor. Bir kere derli toplu yazayım da referans olsun.

Büyük küçük harf dönüşümü. Türkçede i harfinin büyüğü İ, ı harfinin büyüğü I. Varsayılan dönüşüm fonksiyonları bunu bilmiyor ve İstanbul kelimesi ISTANBUL yerine İSTANBUL olmuyor veya tam tersi bozuluyor.

Çözüm, dönüşüm yaparken dil bilgisini açıkça belirtmek. Çoğu dilde bunun için bir parametre var.

En tehlikeli yeri şurası: kullanıcı adı veya e posta karşılaştırmasında küçük harfe çevirirken. Türkçe karakterle yazılmış bir kullanıcı adı, iki farklı sonuç üretebiliyor ve giriş sorunları çıkıyor.

Sıralama. Alfabetik sıralama yapınca ç harfi c'den sonra gelmeli ama varsayılan sıralamada z'den sonra geliyor. Veritabanında doğru harmanlama ayarını seçmek gerekiyor.

Arama. Kullanıcılar Türkçe karakter kullanmadan arama yapıyor. Ogrenci yazıp öğrenci bulmak istiyorlar. Arama sırasında her iki tarafı da katlamak gerekiyor.

Slug üretimi. Adresler için Türkçe karakterleri karşılıklarına çevirmek. Burada dikkat: bazı kütüphaneler ı harfini atlayıp boş bırakıyor.

Karakter kodlaması. Veritabanı, bağlantı ve sayfa kodlamasının hepsinin tutarlı olması gerekiyor. Birinde eksik ayar varsa bozuk karakterler çıkıyor ve nerede bozulduğunu bulmak zor oluyor.

PDF ve e posta. Bazı yazı tipleri Türkçe karakterleri içermiyor ve çıktıda kutu görünüyor. Yazı tipi seçerken kontrol etmek gerekiyor.

Dosya adları. Türkçe karakterli dosya adları bazı sistemlerde sorun çıkarıyor, yükleme sırasında temizlemek en güvenlisi.
0 3 yorum
Yorumlar (3)
@sourdiesel · 30 gün önce 4
Küçük harfe çevirirken yaşanan giriş sorunu bizde gerçek bir olaydı, tam olarak anlattığın gibi.

Kullanıcı adında İ harfi olan bir hesap vardı. Kayıt sırasında bir şekilde, giriş sırasında başka şekilde küçültülüyordu ve kullanıcı hiç giriş yapamıyordu.

Üç gün aradık.

Çözüm olarak artık kimlik karşılaştırmalarında dile duyarlı olmayan dönüşüm kullanıyoruz. Görüntüleme için ayrı, karşılaştırma için ayrı.

Bu ayrımı yapmak bütün sınıfı hataları bitirdi.
@cherryblossom · 29 gün önce 4
Arama katlama konusuna ekleme yapayım çünkü çoğu proje bunu yarım yapıyor.

Sadece arama terimini katlamak yetmiyor, veritabanındaki alanı da katlamak gerekiyor. Yoksa ogrenci yazan öğrenci kaydını bulamıyor.

Bizde çözüm, arama için ayrı bir katlanmış kolon tutmak oldu. Yazma anında dolduruluyor ve arama orada yapılıyor.

İndeks de o kolona konuyor, performans sorunu olmuyor.

Her sorguda fonksiyon çağırmak indeksi kullanılamaz hale getiriyor, bu detay önemli.
@vahabdemir · 26 gün önce 5
Yazı tipi konusuna dikkat çektiğin için teşekkürler, bu en geç fark edilen sorun.

Bizde fatura çıktılarında Türkçe karakterler kutu olarak görünüyordu ve müşteriler şikâyet etti.

Sebep, rapor kütüphanesinin varsayılan yazı tipiydi. Değiştirdik ama bu sefer de yazı tipi dosyasını sunucuya koymayı unuttuk ve canlıda yine bozuldu.

Ders: yazı tipi dosyalarını projeye dahil edin, sistem yazı tipine güvenmeyin.

Aynı sorun görsel üretiminde de çıkıyor.