• 0

كيف أحل هذه المشكلة في الطباعة باللغة العربية في بايثون 3؟

عندما أحاول طباعة حروف باللغة العربية أو بأي لغة أخرى غير الإنجليزية يظهر لي الخطأ التالي:

 File "C:\test\sel\e1.py", line 23, in <module>
print (product.text)
File "C:\Python34\lib\encodings\cp437.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u2013' in position 8: character maps to <undefined>

فما حل هذه المشكلة؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

سبب هذا الخطأ أنك لم تُعرّف الترميز المناسب لملفك، فإذا كانت النصوص في نفس ملف شيفرة بايثون البرمجية فضع هذه الشيفرة في السطر الثاني من ملف:

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

حيث سيعرف بايثون أنك ستستخدم ترميز utf-8 في ذلك الملف، أما لو أردت فتح ملف بترميز معين فاستخدم السطر:

with open('filename', 'w', encoding='utf-8') as f:

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

بالإضافة إلى الإجابة السّابقة، قد تحدث معك بعض المشاكل عند التّعامل مع رموز Unicode في لغة بايثون، لذا من المُفضّل إضافة حرف u في مُقدّمة السّلسلة النّصيّة التي يُمكن أن تحتوي عليها، انظر المثال التّالي:

arabic = u"العربيّة"

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن