Türkçe karakter sorunları: mojibake, noktasız ı ve sıralama
Son güncelleme: 20 Eylül 2026
ÅŸ, ı, ð — Türkçe içerikle
uğraşan herkes bu karakter çorbasını görmüştür. Sebebi neredeyse her
zaman aynı ve çözümü basit. Yanında Türkçeye özgü iki ayrı tuzak daha
var: noktasız ı ve sıralama.
Sorun 1: Bozuk karakterler (mojibake)
Metin UTF-8 ile yazılmış ama okuyan taraf başka bir
kodlama sanıyor. Ortaya çıkan desen tanıdıktır: Türkçe harfler iki
karaktere bölünür — ş yerine ÅŸ,
ı yerine ı.
Web sayfasında: sayfanın başında
<meta charset="UTF-8"> olmalı. Varsa sunucu da doğru
söylemeli — sunucunun bildirdiği kodlama, sayfadaki etiketi ezer.
Düz metin dosyalarında (.txt) bu özellikle sık çıkar,
çünkü orada etiket koyacak yer yoktur; sunucu ayarı tek çözümdür.
Dosyada: metin düzenleyicide "UTF-8 olarak kaydet". Windows'ta bazı programlar "UTF-8 with BOM" kaydediyor; çoğu yerde sorun çıkarmaz ama bazı araçlar dosyanın başındaki görünmez işareti veri sanır. Sorun yaşıyorsan BOM'suz kaydet.
CSV'de: Türkçe Excel, UTF-8 CSV'yi doğru açmakta zorlanır. Dosyayı doğrudan çift tıklamak yerine "Veri → Metinden" yolunu kullanıp kodlamayı elle seçmek sorunu bitirir.
Sorun 2: Noktasız ı / noktalı İ
Türkçe, i ve ı'yı ayrı harfler olarak
kullanan az sayıdaki dilden biri. Bunun iki pratik sonucu var:
Yazılımda: Büyük/küçük harf çevirimi dile duyarlı
yapılmazsa İstanbul küçültülünce i̇stanbul
olur ve karşılaştırmalar tutmaz. Kullanıcı adı, e-posta ve dosya adı
karşılaştırmalarında bu gerçek bir hata kaynağıdır. Çoğu dilde
"invariant" veya "Türkçe" kültürünü açıkça belirtmek gerekir.
Fontta: Birçok ücretsiz font ı ve
İ'yi ya hiç içermez ya da yanlış çizer. Font seçerken ilk
bakılacak yer burasıdır —
font rehberinde
ayrıntısı var.
i/ı ve
ö/o gibi çiftleri birbirine denk sayan bir normalleştirme
olmazsa, sonuç bulunamaz. Bu sitedeki arama kutusu da Türkçe
küçültme kullanıyor.
Sorun 3: Sıralama
Türkçe alfabede ç harfi c'den sonra,
ğ g'den sonra gelir. Varsayılan (İngilizce)
sıralama bunları listenin sonuna atar ya da yanlış yere koyar. Bir
isim listesi sıralıyorsan dil bilgisini vermek gerekiyor.
ÇĞİÖŞÜ çğıöşü — İstanbul, Iğdır, Şırnak