היי,
חילקתי את קוד השח לכמה קבצים.
כאשר אני רוצה להדפיס את הלוח אני מקבלת את ההודעת שגיאה הבאה:
UnicodeEncodeError: ‘charmap’ codec can’t encode character ‘\u265c’ in position 1: character maps to
הצלחתי להבין כי ההתייחסות היא לקידוד של rook אך לא מצאתי כיצד לפתור את הבעיה.
(בjupyter לא הייתה לי בעייה בהצגת הלוח וכלי המשחק שעליו)
אשמח לעזרה,
תודה!
לייק 1
adi1
למקרה שעוד מישהו ייתקל בבעיה, מצאתי פתרון לבסוף
בראש הקובץ chess.py יש להוסיף את השורות הבאות:
import io
import sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding=‘utf8’)
2 לייקים
Yam
אוי לא
אתה מריץ בעזרת Visual Code או התוסף Code Runner?
adi1
אני מריצה בעזרת התוסף Code Runner , זה מה שגורם לבעיה מלכתחילה?
Yam
סורי על הבלבול במגדר
יש לי הרגשה שכן. אם את מסירה את התוסף ומריצה בעזרת ה־Play הקטן למעלה, זה עובד?
nirpn1
יכול לאמת שזה פותר את הבעיה
נתקלתי גם בבעיה הזאת
ממליץ לעשות disable רק מסביבת העבודה הנוכחית:
2 לייקים
Yam
ממחקר קצר שלי בעבר וממה שאני זוכר, הסיבה היא ש־Code Runner משתמש בטרמינל של מערכת ההפעלה, שלא רגיל להתמודד עם קידודים מודרניים
2 לייקים
adi1
עשיתי disable לתוסף.
אם אני מריצה עכשיו דרך הplay הקטן למעלה חוזרת לי ההודעת שגיאה.
אבל אם אני לוחצת על Run שנמצא בתפריט למעלה ואז על Run without debugging
הלוח שחמט מוצג לי.
2 לייקים
Dusinka
טוב לצערי הלכתי לחפש בגוגל לפני שחיפשתי פה והייתי צריך למצוא את זה בעצמי. אז כן, הבעיה היא code runner.
ים אמרת שהבעיה היא שהוא משתמש בטרמינל של מערכת ההפעלה, אבל cmd מריץ את הקוד כמו שצריך.
מה זה אומר בעצם? אני מחפש איך לפתור את זה כדי שcode runner כן יצליח להדפיס את התווים המיוחדים.
השורה הזאת שמתווספת לקונפיגורציה לפי הפוסט ששלחת מסדרת את הcode runner מבחינת הקידוד והוא מדפיס טוב את השח גם בלי להריץ מהטרמינל
6 לייקים
nirpn1
חיים דבש, תודה על העדכון
2 לייקים
krauskas
איפה כותבים את הפקודה הזאת?
בcmd?
בלי הגרשיים?
Dusinka
לא, מוסיפים את זה לsettings.json שזה קובץ שנמצא בתיקיית .vscode
לייק 1
orronai
השורה הזאת ספציפית כדאי להוסיף תחת ההגדרות הכלליות ב- File > Preferences > Settings
ללחוץ על הכפתור מימין למעלה - Open Settings (JSON)
להוסיף את השורה הזו שם.
לייק 1
krauskas
תודה רבה על הטיפ המועיל,
שאלה נוספת, לאחר שהוספתי את הקוד בsetting, שמתי לב שאני לא יכול לשנות את ההגדרות למשל של השמירה האוטומטית, כשאני מנסה אני מקבל את ההודעה הזאת: