上次遇到相關的bug 是在python 2.x,這次是在python 3遇到,解法差不多,其實都是 lang 系統變數造成的。
上次的問題:err ‘ascii’ codec can’t encode character u’\u7684′ in position 7: ordinal not in range(128)
https://stackoverflow.max-everyday.com/2017/03/err-ascii-codec-cant-encode-character-uu7684-in-position-7-ordinal-not-in-range128/
這次在 ubuntu 上 python 2 和 python 3 輸出 sys.stdout.encoding 的結果都是:’ANSI_X3.4-1968′
python 程式碼:
import sys print(sys.stdout.encoding)
解法是執行指令:
export LC_ALL='en_US.utf8'
網路上有人寫是
export LANG='en_US.utf8'
實測的結果是不行,必需使用 LC_ALL
如果是使用ubuntu 請修改 ~/.bashrc