APK hataları

Konsolda ə harfi kare olur

Python duruyorsa ekranda bu satır olur: UnicodeEncodeError: 'charmap' codec can't encode character '\u0259'. \u0259 harfi ə-dir. Büyük Ə de aynı yerdedir. Program çalışıp ekranda kare ya da ? kalıyorsa harf gitmiş, yazı tipi onu çizmiyordur. Bu, iki ayrı durmadır.

Türkçe sayfalar cp1254 yazar. Python'un bu tablosunda ü, ö, ş, ğ, ç, ı vardır. ə yoktur. O yüzden o anlatım bu harfi düzeltmez.

Hepsini bir anda değiştirme. Nedeni sırayla yokla.

  • Dosyayı UTF-8 kaydet. VS Code'un alt köşesinde UTF-8 yazmalı. Notepad'de «Unicode» UTF-16'dır, onu seçme.
  • Dosyaya yazıyorsan satır şöyle olsun: open("metn.txt", "w", encoding="utf-8"). encoding yazmazsan Windows Türkçe tabloyu alır ve ə düşer.
  • Hata programı durduruyorsa errors="ignore" ve cp1254 yazma. Birincisi ə'yi siler. Ikincisinde ə yoktur. Programın başında sys.stdout.reconfigure(encoding="utf-8") yaz, sonra print("Azərbaycan").
  • Program çalışıyor, harf kareyse kodu değiştirme. Terminalin yazı tipini Cascadia Mono ya da Consolas yap.
  • chcp 65001 yalnız açık pencereyi UTF-8 yapar. Pencere kapanınca eski sayfa geri gelir.

æ harfi ə değildir. Türkçe tablodaki işareti onun yerine koyma.

import sys
sys.stdout.reconfigure(encoding="utf-8")

print("Azərbaycan")

with open("metn.txt", "w", encoding="utf-8") as fayl:
    fayl.write("Azərbaycan\n")

İlgili rehberler