GlareVPN使用日本在地伺服器‧日本本地IP位址,述不能訪問日本國內網站的情形將通通消失。  比Xbox One更小更厲害!終於入手超小&最輕的次世代主機「Xbox Series S」馬上開箱!   Nintendo Switch刀劍亂舞無雙 2022年2月17日發售   PlayStation Indies獨立遊戲優惠活動重返PlayStation Store   展現你的島嶼魅力!集合啦動物森友會「觀光導覽製作站」公開囉!   你要在《Disco Elysium》最終剪輯版成為哪種警探?   《Life is Strange:True Colors》中的情感色彩   深入探索《零》令人膽顫心驚的全新拍照模式   『鬼滅之刃 火之神血風譚』單人遊玩模式介紹③ 

Python3 遇到 UnicodeEncodeError: ascii codec 錯誤解法

商業

Python3 遇到下述問題:

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

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

一般這個都在 Python2 看到,沒想到在 Python3 也會遇到.. @[email protected]

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

隨機商業新聞

Gearbest 購物平台