《Disney +》 迪士尼、Marvel、彼思、星球大戰…  Artisan Studios宣布將於今年推出RPG新作「Astria Ascending」   人偶劇「到BIO村玩吧♪」最終回大公開!《惡靈古堡8村莊》全球出貨量突破300萬套!   《地平線 西域禁地》新影片披露滑行獸、捲背獸和日翼者等駭人新機器   「集合啦!動物森友會」將新增「Sanrio characters合作活動」的遊戲內容!   下一次會是什麼「之鬪」呢?數位卡夫特實施新遊戲問卷調查!   《GTAV》和《GTA 線上模式》將於 2022 年 3 月登陸 PS5   《原神》2.4版本更新:盛大的慶典與神秘的地區將在提瓦特的新年之際到來!   今次是無限列車篇!鬼滅之刃「橡皮擦系列第二彈」發售決定! 

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 即可,如下述:

  • $ export PYTHONIOENCODING=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 掉就好

  • unset 語法:$ unset PYTHONIOENCODING
Tsung

隨機商業新聞

Disney+