系统编码设置导致错误:UnicodeEncodeError: 'ascii' codec can't encode characters in position

系统编码设置导致错误:UnicodeEncodeError: 'ascii' codec can't encode characters in position

一:问题环境

ubuntu
python3

二:问题描述

print打印中文
读取的文本里含有中文
会报错:UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 13427-13428: ordinal not in range(128)

三:问题原因

3.1:python指定encoding

解决方案略

3.2:系统不支持中文

命令行下输入locale,查看系统当前支持的编码

LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE=zh_CN.UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

参考博文https://blog.csdn.net/deepxl/article/details/17802451

解决方案:
命令行下执行如下两条命令:

> apt-get install locales
> dpkg-reconfigure locales  # 此命令会进入界面

在界面中,选中en_US.UTF-8和zh_CN.UTF-8 (点击空格键 为选中),然后tab键选中,回车键确认;进入最终确认页面,显示选中的编码,tab键选中,回车键确认。完成。
在这里插入图片描述


版权声明:本文为apple9005原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。