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'