Türkçe karakterler neden bozuluyor?
"Çalışma" yazması gereken yerde "Çalışma", "ağaç" yerine "aðaç" görüyorsanız metniniz silinmedi, yanlış okundu. Bilgisayar harfleri saklarken sayıya çevirir; hangi sayının hangi harfe karşılık geldiğini söyleyen tabloya kodlama denir. Metin bir tabloyla yazılıp başka bir tabloyla açıldığında her Türkçe harf, o tablodaki başka karakterlere dönüşür. Bozulma rastgele değildir: "ç" her seferinde aynı iki karaktere, "ş" her seferinde aynı üçlüye dönüşür.
Bu araç tahmin yürütmez, işlemin tersini uygular: elindeki karakterleri metni bozan okuyucunun gördüğü sayılara geri çevirir ve doğru tabloyla yeniden okur. Sonuç doğruysa Türkçe metin olduğu gibi geri gelir; yol yanlışsa araç bunu fark eder ve metne dokunmaz.
Hangi bozulmaları tanır?
Türkiye'de karşılaşılan üç yol var ve araç üçünü de ayrı ayrı dener, hangisinin uyduğunu size de söyler:
- UTF-8 metin, Windows-1252 olarak okunmuş. En yaygını. "ç" → "ç", "ı" → "ı", "ş" → "ÅŸ". CSV dışa aktarımlarında, eski veritabanı yedeklerinde ve e-posta başlıklarında sık görülür.
- UTF-8 metin, ISO-8859-1 olarak okunmuş. Bir öncekine benzer ama bazı karakterler görünmez denetim karakterlerine dönüşür; metin ekranda eksikmiş gibi durur.
- ISO-8859-9 (Latin-5) metin, Windows-1252 olarak okunmuş. Türkçeye özgü olan bu: Latin-5 Türkiye için yapılmış eski bir tablodur, İ ğ ı ş harfleri orada başka sayılardadır. Yanlış okununca "İstanbul" → "Ýstanbul", "ağaç" → "aðaç" olur. İngilizce onarım araçlarının çoğu bu yolu hiç denemez.
Metin birden fazla kez bozulmuşsa (yani bozuk hâli bir kez daha yanlış okunmuşsa) araç katmanları sırayla geri alır ve kaç geçiş uyguladığını yazar.
Neyi geri getiremez?
Bir sınır var ve baştan bilinmesi iyi: harf bozulmadıysa değil silindiyse, geri getirilemez. Bazı sistemler tanımadıkları harfin yerine soru işareti veya boş kutu yazar ("calisma" değil "cal?sma"). O noktada asıl harf dosyada hiç yoktur; hangi harf olduğunu ancak siz bilebilirsiniz. Araç bu durumları sayar ve size söyler, sessizce doldurmaya çalışmaz.
Metniniz düzgünse araç hiçbir şey değiştirmez. Bu bilinçli: yanlış bir "onarım" sağlam metni bozabilir, o yüzden bir yol ancak bozukluğu gerçekten azaltıyorsa uygulanır.
Bütün işlem tarayıcınızda yapılır. Yapıştırdığınız metin hiçbir sunucuya gönderilmez, kaydedilmez, sözleşme, bordro veya kişisel yazışma yapıştırmanız bu yüzden sorun değil.
Nasıl kullanılır?
- Bozuk metni yapıştırın, Üstteki kutuya bozuk metni yapıştırın. Yazdığınız anda düzeltme çalışır, düğmeye basmanız gerekmez.
- Tanıyı okuyun, Araç kaç bozuk dizi bulduğunu ve hangi kodlama hatasının olduğunu yazar. Aynı hata dosyanın kaynağında da varsa, oradan düzeltmek kalıcı çözümdür.
- Sonucu alın, Düzeltilmiş metni panoya kopyalayın veya .txt dosyası olarak indirin. İndirilen dosya UTF-8 kodludur.
- Uyarılara bakın, Çözülemeyen dizi veya kelime ortasında soru işareti bildirildiyse metinde geri getirilemeyen kayıp var demektir; o kısımları elle tamamlamanız gerekir.