Metin Dosyasına Attığım Yazıda Türkçe Harfleri Almıyor

Yazdığım programda yazıyı Text den .get ile alıp aşağıdaki kodu uyguluyorum.(Programı Tkinterde yazdım)

def Kaydet(self):
        self.KYazı=self.yazı_alan.get("1.0",END)
        with open("z.txt", "w") as f:
            f.write(self.KYazı) 

Ama şöyle bir şey yazınca “Söylemezoğlu”
S�ylemezo�lu
File was loaded in the wrong encoding: 'UTF-8'
bunun gibi bir çıktı oluşuyor bunda nasıl türkçe harfleri ‘normal’ bir şekilde yazdırabilirim.

Rica etsem kodunuzun başına şunu ekliyebilir misiniz ?

# -*- coding: utf-8 -*-

araştırdım ama bununla ilgili bir sorun değilmiş şöyle bir şey buldum.

bu arada bildiğiniz gibi open fonkisyonunun encoding adlı bir parametresi var kullanmış olduğunuz dönüşüm biçimini içeri yazarak bunu kullanabilirsiniz bildiğim kadarıyla default olarak utf-8 geliyor fakat verdiği çıktıya göre bu sizin kullanmak istediğiniz dosyanın içeriğine göre hatalı bir dönüşüm biçimi.

(Geç cevap verebildim maalesef) Verdiğiniz linke baktım yapınca oldu gibi tek problem bazı türkçe harfleri normalce yazarken bazılarını düzgün yazdırmıyor mesela ‘ı’ yerine ‘ý’, ‘ğ’ yerine ‘ð’ ,‘ş’ yerine ‘þ’ basıyor

with open("z.txt", "w",encoding = "utf - 8" ) as f:

yapar mısınız ?

Kod çalıştı bu sefer tüm türkçe harfleri normal gösteriyor.

en başından beri söylemiştim ama encoding adlı parametresini kendinize göre düzenliyeceksiniz diye :frowning:

Söylemiştiniz ama tam anlayamamıştım ama kod örneği olunca tam oldu.

Sevindim çözülmesine iyi günler dilerim :slight_smile:

1 Like