原文链接:https://blog.csdn.net/th_num/article/details/80685389

Python3中遇到UnicodeEncodeError: 'ascii' codec can't encode characters in ordinal not in range(128)

但是在windows上面运行代码正常。
原因是因为:linux系统语言导致的。
查看了一下系统环境编码

>>> import sys
>>> sys.stdout.encoding
'US-ASCII'
  • 1
  • 2
  • 3

而另一台能正常打印的机器是 en_US.UTF-8

解决办法

(1)设置环境变量LANG

在linux或Mac上设置环境变量的方式一样,编辑~/.bash_profile文件(’~’指的是用户登录后的默认目录),添加一行:

export LANG="en_US.UTF-8"
  • 1

保存退出后重新打开命令行控制台

(2)使用PYTHONIOENCODING

在运行python命令前添加参数 PYTHONIOENCODING=utf-8 python test.py

该参数的解释可查看官方文档:
https://docs.python.org/3.6/using/cmdline.html#envvar-PYTHONIOENCODING

(3)重新定义标准输出

在代码中添加 sys.stdout = codecs.getwriter(“utf-8”)(sys.stdout.detach()) ,使代码变为:

import sys
import codecs
sys.stdout = codecs.getwriter("utf-8")(sys.stdout.detach())
print('中文')
  • 1
  • 2
  • 3
  • 4

Python3中遇到UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in ordinal not in range(128)相关推荐

  1. Python3中遇到UnicodeEncodeError: 'ascii' codec can't encode characters in ordinal not in range(128)...

    现象 打印任何一种包含有中文的对象,字典.列表.DataFrame.或字符串.比如: print('中文') 控制台报错: Traceback (most recent call last):File ...

  2. macOS解决sublime text3运行python3报:UnicodeEncodeError: 'ascii' codec can't encode characters in position

    在macOS中,使用sublime text3运行python3代码,打印语句中含有中文字符时报错, 解决方法如下: 修改Sublime Text3中的设置,Preferences > Brow ...

  3. python3报错处理:UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 0-1

    一.背景说明 最开始不愿意使用Python,一大原因是因为Python2默认使用ASCII编码处理中文可以说是一件痛苦的事情.仅从更换默认编码一项变换,就可以说Python3和Python2不算同一门 ...

  4. (转)python3 urllib.request.urlopen() 错误UnicodeEncodeError: 'ascii' codec can't encode characters...

    代码内容: url = 'https://movie.douban.com/j/search_subjects?type=movie'+ str(tag) + '&sort=recommend ...

  5. [转]Python UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 的解决办法...

    UnicodeEncodeError: 'ascii' codec can't encode characters in position 的解决办法 python在安装时,默认的编码是ascii,当 ...

  6. UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)

    在linux centos系统中使用python2.7.2对一个字符串解码然后输出,代码如下: s = "哈哈哈" print s.decode('utf-8') 结果报了如下的错 ...

  7. 解决UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 问题(转)

    解决UnicodeEncodeError: 'ascii' codec can't encode characters in position 问题(转) 参考文章: (1)解决UnicodeEnco ...

  8. 已解决UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 18-20: ordinal not in range

    已解决UnicodeEncodeError: 'ascii' codec can't encode characters in position 18-20: ordinal not in range ...

  9. 已解决 UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 26-29: ordinal not in r...

    背景 打算使用 pygrib 打开读取 grib2 文件: msgs = pygrib.open(r"D:\下载目录\20230706000000-0h-enfo-ef.grib2" ...

最新文章

  1. 大数据-spark-hbase-hive等学习视频资料
  2. RGBA和ARGB的区别
  3. IplImage简介
  4. mysql无法存储文字_mysql存储不了中文字符串怎么办
  5. OutOfMemoryError:无法创建新的本机线程–问题神秘化
  6. vue实战(9):总结二
  7. 判断一个数是否为质数
  8. 【SGU495】Kids and Prizes(概率dp)
  9. 小甲鱼python电子版_小甲鱼学python
  10. opencv学习十二(车牌识别)
  11. 数字图像处理 冈萨雷斯 一些理解
  12. matlab 蜗杆轮廓,基于MATLAB的直廓环面蜗杆的可视化
  13. CHM 格式打开不显示网页
  14. 导入tkinter出错
  15. css 实现对话气泡
  16. ubuntu和mac进行文件传输 运用scp命令
  17. Android开发:微信平台应用申请
  18. ctfshow_2021月饼杯记录
  19. 【Java基础】基础概念与常识
  20. vscode中搭建Golang开发环境(图文并茂)

热门文章

  1. svn: E200033: database is locked, executing statement 'RELEASE   s0' 问题解决办法
  2. 线程基础知识_Synchronized_ThreadAPI_自定义锁_获取线程运行时异常
  3. 十、PHP框架Laravel学习笔记——数据库配置入门
  4. 二、Java 面向对象高级——Collection、泛型
  5. LeetCode 1758. 生成交替二进制字符串的最少操作数(DP)
  6. 牛客 牛牛选物(01背包)
  7. LeetCode 833. 字符串中的查找与替换(排序,replace)
  8. 天池 在线编程 中位数
  9. LeetCode 1625. 执行操作后字典序最小的字符串(BFS)
  10. [编程启蒙游戏] 1. 猜数字