Çift kodlanmış metin nasıl görünür
Önce
Şişli’deki kafede çıtır börek ve ağaç gölgesinde çay
Sonra
Şişli’deki kafede çıtır börek ve ağaç gölgesinde çay
Nasıl oluşur
UTF-8’de ş iki baytla yazılır. Bir program bu baytları Windows-1252 (Türkçe Windows’ta sık görülen Windows-1254’e çok benzer) olarak okursa iki karakter çıkar: ÅŸ. Bu sonuç yeniden UTF-8 olarak kaydedilirse tek karakter dört bayta dönüşür. Aynı işlem ikinci kez yapılınca bu karakterler tekrar bölünür: ÅŸ, ÅŸ olur.
İkinci turun tipik nedenleri:
- Bir veritabanı taşınır, ama WordPress veya SQL yedeği zaten bozuktur.
- Bir CSV Excel’de açılıp kaydedilir ve sonra yine yanlış kodlamayla içe aktarılır.
- Bir betik veya API, zaten UTF-8 olan metni bir kez daha dönüştürür.
En sık görülen kalıplar
Çift kodlanmış
ş ğ ı İ ç ö ü ’
Doğru
ş ğ ı İ ç ö ü ’
Üçlü kodlamada dizi daha da uzar. Mojibuster bu katmanı da otomatik onarır.
Bul ve değiştir neden yetmez
Bul ve değiştir ile her kalıbı bilmeniz gerekir: her katman ve her özel harf için ayrı ayrı. Birini kaçırmak ya da doğru metni yanlışlıkla değiştirmek çok kolaydır. Mojibuster ise özgün baytları hesaplar ve sonucun geçerli UTF-8 olup olmadığını denetler. Ancak o zaman o yer değiştirilir.
- Yukarıdaki kutuya metni yapıştırın veya dosyayı bırakın.
- Mojibuster metnin kaç kez dönüştürüldüğünü algılar ve üç katmana kadar onarır.
- Ne değişti? bölümünde her yeri görürsünüz. Sonra sonucu kopyalayın veya dosyayı indirin.
Zaten doğru olan metin değişmez; aynı dosyada bozuk ve doğru satırlar karışık olsa bile. Tek katmanlı hatalar (ü gibi) UTF-8 karakter düzeltme sayfasında anlatılıyor.
Sık sorulan sorular
Çift kodlamayı nasıl anlarım?
Ã, Ã… veya  ile başlayan daha uzun dizilerden. Tek katmanlı hatalar daha kısadır, örneğin ü (à yerine Türkçe karakter).
Mojibuster kaç katmanı onarabilir?
Üç katmana kadar. Daha fazlası pratikte neredeyse hiç görülmez.
Metnin yalnızca bir kısmı çift kodlanmışsa ne olur?
Sorun değil. Mojibuster her yeri ayrı ayrı onarır, doğru kısımlara dokunmaz.
Sonucu önce kontrol edebilir miyim?
Evet. Ne değişti? bölümünde Mojibuster, kopyalamadan veya indirmeden önce onarılan her yeri satır numarasıyla listeler.