اذهب إلى المحتوى

السؤال

نشر

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

 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>

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

Recommended Posts

  • 0
نشر

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

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

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

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

 

  • 0
نشر

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

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

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...