أخطاء APK

كلمة ödəyici تصير ödÉ™yici

في UTF-8 حرف ə بايتان: C9 99. يقرأ Windows-1252 هذين البايتين كحرفين: C9 هو É و99 هو ™. لذلك يظهر ə كـ É™. وبالطريقة نفسها يصير ö هو ö. فتُكتب ödəyici هكذا: ödÉ™yici.

صفحات التركية تعطي جدولًا لـ ş وğ وı. وÉ™ ليس في ذلك الجدول لأن التركية بلا ə.

إذا صار الحرف ? فهذا الرمز لا يُرجعه. البايت ذهب.

  • استعمل الرمز كما هو: metn.encode("cp1252").decode("utf-8"). تعود ödÉ™yici إلى ödəyici.
  • إذا رأيت É™ فلا تبحث عن جدول استبدال. هذا ə قُرئ خطأ كـ Windows-1252.
  • جدول تركي لـ ş وğ وı لا يصلح É™. حرف ə ليس في ذلك الجدول.
  • إذا رمى الرمز خطأ ففي النص علامة لم تعد بايت cp1252. اكتب ذلك الموضع بيدك.
  • إذا صار الحرف ? فقد ذهب البايت. خذ النص من المصدر من جديد.

احفظ النص المُصلح من جديد كـ utf-8. لا تقرأ الملف نفسه مرة ثانية كـ cp1252.

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

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

أدلة ذات صلة