centos下 python3無法print中文
UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0-10: ordinal not in range(128
這類問題多來源於python控制檯的編碼問題,進入python環境
>>> import sys
>>> sys.stdout.encoding
'ANSI_X3.4-1968'
發現這裏的編碼不是utf-8,而是一個ANSI_X3.4-1968,工程字符集,我們應該要將其改爲utf-8才行。
在root用戶下聲明編碼:
export LC_ALL='en_US.UTF-8'
export PYTHONIOENCODING='utf-8'
再到python環境試一下,發現可以了,這種情況下python輸出中文就不會亂碼了
>>> import sys
>>> sys.stdout.encoding
'utf-8'