台灣三創ROG體驗店推出獨一無二的「ROG 潮限定客製噴印」活動   Sa·Ga系列30週年最後大發表!《SaGa Frontier Remastered》發售確定!   日本SUNTORY能量飲料「ZONe」發售了!   SEGA《Astro City Mini》迷你主機發表第3彈收錄遊戲!共36款遊戲內容大公開!   日本遊戲大賞 2020「集合啦 動物森友會 開發團隊」獲得日本經濟產業大臣獎!   「PS VR亮點」今日開跑   任天堂大量熱門遊戲桌布開放玩家免費下載!   蜘蛛俠遊戲新作Marvel’s Spider-Man Miles Morales將登上PS5平台 

Python3 遇到 UnicodeEncodeError: ascii codec 錯誤解法

Python3 遇到下述問題:

UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0–9: ordinal not in range(128)

此錯誤訊息,要怎麼解決呢?

一般這個都在 Python2 看到,沒想到在 Python3 也會遇到.. @.@a..

Python3 遇到 UnicodeEncodeError: ascii codec 錯誤解法

最簡單的解法,直接於 Bash shell 指定編碼為 utf-8 即可,如下述:

再來執行就不會有問題了~

但是若遇到設定為 UTF-8 後,原本某些又不能跑,需要設定回來,原本預設編碼為何呢?

可以使用此程式查看:

  1. vim print_encode.py
    #!/usr/bin/env python3
    import sys
    print(sys.getdefaultencoding())
    print(sys.stdin.encoding)
    print(sys.stdout.encoding)
    print(sys.stderr.encoding)
  2. python3 ./print_encode.py
    utf-8
    ANSI_X3.4-1968
    ANSI_X3.4-1968
    ANSI_X3.4-1968

註:最快回到預設值得作法,就是直接將 PYTHONIOENCODING unset 掉就好

相關文章