APK errors

ödəyici turns into ödÉ™yici

In UTF-8, ə is two bytes: C9 99. Windows-1252 reads those bytes as letters: C9 is É, and 99 is ™. So ə shows as É™. The same path turns ö into ö. ödəyici is then written ödÉ™yici.

Turkish pages give a table for ş, ğ, and ı. É™ is not in that table, because Turkish has no ə.

If the letter is already ?, this code cannot bring it back. The byte is gone.

Save the fixed text as utf-8 again. Do not read the same file as cp1252 a second time.

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

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