Bir Türkçe harf neden iki karaktere dönüşür?
UTF-8’de her Türkçe harf iki bayt kaplar: ş için C5 9F, ı için C4 B1. Dosyayı Windows-1252 olarak okuyan bir program her baytı ayrı bir karakter yapar: C5 → Å, 9F → Ÿ. Böylece ş harfi ÅŸ olur. İlk karakter harfin hangi gruptan geldiğini gösterir, ikincisi hangi harf olduğunu.
Ãile başlayanlar:ü,ö,çve büyükÜ,Ö,Ç– bu harfler Batı Avrupa dillerinde de vardır.Äile başlayanlar:ı,ğ,İveĞ.Åile başlayanlar:şveŞ.
Bozuk
Şişli’de çarşamba günü İstanbul’un en güzel ağaçlarını gördük; Ömer çok sevindi.
Düzeltilmiş
Şişli’de çarşamba günü İstanbul’un en güzel ağaçlarını gördük; Ömer çok sevindi.
En sık görülen kalıplar
ü→ü,ö→ö,ç→çÅŸ→ş,Åž→ŞÄ±→ı,İ→İÄŸ→ğ,Äž→ĞÜ→Ü,Ö→Ö,Ç→Ç€→€,’→’,“→“– ayrıntılar: bozuk kesme işareti ve tırnaklar
Tam tablo aşağıda. Bozuk kısım daha uzun görünüyorsa, örneğin ü, metin iki kez yanlış dönüştürülmüştür. Mojibuster bunu da tek seferde üç katmana kadar düzeltir – bkz. UTF-8 karakter düzeltme.
Başka bir hata: ý, þ, ð
ı yerine ý, ş yerine þ, ğ yerine ð görüyorsanız – örneğin Ýstanbul ya da þehir – bu ayrı bir hatadır: metin Windows-1254 (Türkçe ANSI) ile kaydedilmiş ve Batı Avrupa ayarlarıyla okunmuştur. Türkçe sayfada Mojibuster bu harfleri de otomatik olarak düzeltir. Ayrıntılar: mojibake nedir.
Bul ve değiştir ile düzeltmeyin
Word’de ya da Excel’de ÅŸ yerine ş yazdırmak mümkündür, ama yalnızca bütün kalıpları biliyorsanız işe yarar – Türkçede en az on iki tane vardır ve iki kez bozulmuş metinlerde daha da fazlası. Mojibuster her yeri bayt bayt kontrol eder ve yalnızca açıkça bozuk olanı değiştirir; doğru yazılmış harflere dokunmaz.
Sorun nereden kaynaklanır?
- Excel, BOM’suz bir UTF-8 CSV dosyasını çift tıklamayla ANSI olarak açar – doğru açmanın yolu.
- Dışa aktarımlar: e-ticaret, muhasebe, ERP ve e-fatura sistemlerinden gelen dosyalar yanlış kodlamayla açılır – bkz. CSV’de Türkçe karakter sorunu.
- Veritabanları UTF-8 verileri
latin1bağlantı üzerinden gönderir; tablolar ve bağlantı içinutf8mb4kullanın. - Betikler dosyaları yanlış kodlamayla okur, örneğin PowerShell ya da
encoding='utf-8'belirtilmemiş Python. - E-postalar ve bültenler yanlış karakter kümesi bildirir.
- Altyazılar oynatıcı tarafından yanlış okunur – bkz. altyazı Türkçe karakter sorunu.
Sık görülen bozuk karakterler
| Bozuk | Doğru |
|---|---|
| ç | ç |
| ÄŸ | ğ |
| ı | ı |
| İ | İ |
| ö | ö |
| ÅŸ | ş |
| ü | ü |
| Ç | Ç |
| Äž | Ğ |
| Åž | Ş |
| Ö | Ö |
| Ü | Ü |
| € | € |
| “ | “ |
| ’ | ’ |
| – | – |
| … | … |
Sık sorulan sorular
Harflerim kayboldu mu?
Hayır. ÅŸ içinde hâlâ ş harfinin baytları duruyor ve Mojibuster onları geri çeviriyor. Harfler ancak bir program onları ? ya da � ile değiştirdiğinde kaybolur – ayrıntılar: Türkçe karakter yerine soru işareti.
Neden yalnızca ı, ş ve ğ bozuk (ý, þ, ð), ü ve ö değil?
Bu, Windows-1254 (Türkçe ANSI) ile kaydedilmiş bir metnin Batı Avrupa kodlamasıyla okunduğunu gösterir. İki kod sayfasında ü, ö ve ç aynı yerdedir, yalnızca ğ, ı, ş, Ğ, İ ve Ş farklıdır. Türkçe sayfada Mojibuster bunları da düzeltir; harfler ? olduysa ise bilgi kaybolmuştur.
Bütün bir dosyayı düzeltebilir miyim?
Evet. 100 MB’a kadar CSV, TXT, JSON veya SQL dosyalarını yukarıdaki kutuya bırakın. Dosya cihazınızdan çıkmaz.