Buna ne zaman ihtiyacınız olur?
- Eski bir muhasebe programından, bir ERP’den veya internet bankacılığından alınan CSV dışa aktarımı ANSI olarak kaydedilmiş, ama yeni sistem ya da e-ticaret içe aktarımı UTF-8 bekliyor.
- Eski bir Windows programından gelen metin dosyası Mac’te, Linux’ta veya Git’te
şveıyerine�gösteriyor. - Bir web sitesi, veritabanı veya betik dosyayı UTF-8 olarak okuyor ve ilk Türkçe harfte hata veriyor.
- Eski altyazı dosyaları televizyonda Türkçe harfler yerine kutucuklar gösteriyor – bunun için ayrı bir rehber var: altyazı karakter sorununu düzeltme.
Dosyayı nasıl dönüştürürsünüz?
- Dosyayı yukarıdaki kutuya sürükleyin veya tıklayıp seçin.
- Mojibuster dosyayı okur ve nasıl okuduğunu söyler: “Windows-1254 (ANSI) olarak okundu, UTF-8 olarak kaydedildi.”
- Önizlemeyi kontrol edin. Bir şey yanlış görünüyorsa Mojibuster tek tıkla başka bir okuma önerir.
- İndir düğmesine tıklayın. Dosyayı Excel’de açacaksanız BOM ile kaydet seçeneğini açık bırakın.
“ANSI” aslında ne demek?
“ANSI”, Windows’un sistemdeki eski karakter tablosuna verdiği addır. Türkçe Windows’ta bu tablo Windows-1254’tür, İngilizce ve Batı Avrupa Windows’unda ise Windows-1252. Adın Amerikan Ulusal Standartlar Enstitüsü ile bir ilgisi yoktur; tarihsel olarak yanlış konmuş bir isimdir. ISO-8859-9 (Latin-5) neredeyse aynıdır: yalnızca 80 ile 9F baytları arasında Windows-1254 €, ’ ve – gibi ek karakterler içerir.
Baytlardaki fark
ş– Windows-1254FE(bir bayt), UTF-8C5 9F(iki bayt).ğ– Windows-1254F0, UTF-8C4 9F.ı– Windows-1254FD, UTF-8C4 B1.İ– Windows-1254DD, UTF-8C4 B0.€– Windows-125480, ISO-8859-9’da yok, UTF-8E2 82 AC.- Normal harfler, rakamlar ve
,gibi noktalama işaretleri üç kodlamada da aynıdır. Bu yüzden sorun yalnızca Türkçe harflerde, para birimi işaretlerinde ve tırnaklarda görünür.
ANSI dosyası nasıl tanınır?
Bir ANSI dosyası UTF-8 olarak açıldığında Türkçe harfin baytı orada geçersizdir. Programlar � gösterir, Notepad++ ise bayt değerini küçük kutular içinde gösterir. Doğru bayt hâlâ dosyadadır; dönüştürürken hiçbir şey kaybolmaz. Bir ? işaretinin dosyaya kalıcı olarak kaydedilip kaydedilmediğini karakter yerine soru işareti sayfasında öğrenebilirsiniz.
ş yerine þ, ı yerine ý, ğ yerine ð görüyorsanız dosya Windows-1254’tür ama Batı Avrupa tablosuyla okunmuştur. Bu durumda doğru okuma Windows-1254’tür; önizleme yanlışsa Mojibuster’ın önerdiği diğer okumayı seçin.
Tersi durum: UTF-8 dosya ANSI olarak okunmuş
ş yerine ÅŸ, ı yerine ı görüyorsanız dosya zaten UTF-8’dir ve yalnızca ANSI olarak okunuyordur – genellikle Excel tarafından. O zaman dönüştürülecek bir şey yoktur: dosyayı doğru açın veya kaydedilmiş bozuk karakterleri onarın, bkz. Excel’de Türkçe karakter ve bozuk UTF-8 karakterleri düzeltme. Mojibuster bu durumu da tanır.
Görünen
Çağrı Öztürk: şeker, ılık süt, 12 € – tamam
Doğru
Çağrı Öztürk: şeker, ılık süt, 12 € – tamam
Diğer yollar
- Excel: dosyayı açın, sonra Dosya → Farklı Kaydet → dosya türü CSV UTF-8 (Virgülle ayrılmış). Önce açtıktan sonra Türkçe harflerin doğru göründüğünü kontrol edin.
- Notepad++: Kodlama menüsünde önce ANSI’yi, sonra UTF-8’e dönüştür seçeneğini seçin – adım adım anlatım: Notepad++ kodlama.
- PowerShell ve Python: okurken eski kodlamayı belirtin, yoksa yeni bozuk karakterler oluşur. Bkz. PowerShell ve pandas.
Sık sorulan sorular
Dönüştürürken karakterler kaybolur mu?
Hayır. Windows-1254 ve ISO-8859-9’daki her karakter UTF-8’de de vardır. Yalnızca dosyaya zaten ? olarak kaydedilmiş karakterler ? olarak kalır.
ANSI, ISO-8859-9 veya Latin-5 ile aynı şey mi?
Neredeyse. Windows-1254 ayrıca €, kıvrık tırnaklar ve tireler içerir. Mojibuster ikisini de doğru okur, çünkü Windows-1254 ISO-8859-9’un tüm karakterlerini içerir.
UTF-8 BOM’lu mu, BOM’suz mu?
Excel için BOM’lu, yoksa Excel yine ÅŸ gösterir. Web siteleri, veritabanları ve kaynak kodu için BOM’suz.
Dosyam bir sunucuya yükleniyor mu?
Hayır. Dönüştürme büyük CSV dışa aktarımlarında bile tamamen tarayıcınızda çalışır. Dosya cihazınızdan hiç çıkmaz.