APK hataları

ödəyici sözcüğü ödÉ™yici olur

UTF-8'de ə iki bayttır: C9 99. Windows-1252 bu baytları harf gibi okur: C9 É, 99 ise ™ olur. Bu yüzden ə ekranda É™ görünür. ö aynı yolla ö olur. ödəyici böylece ödÉ™yici yazılır.

Türkçe sayfalar ş, ğ, ı için tablo verir. É™ o tabloda yoktur, çünkü Türkçede ə yoktur.

Harf çoktan ? olduysa bu kod onu geri getirmez. Bayt gitmiştir.

Düzelmiş metni yeniden utf-8 kaydet. Aynı dosyayı bir daha cp1252 gibi okuma.

def duzelt(metn: str) -> str:
    return metn.encode("cp1252").decode("utf-8")

print(duzelt("ödəyici"))