Python3中遇到UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in ordinal not in range(128)
原文链接: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)相关推荐
- Python3中遇到UnicodeEncodeError: 'ascii' codec can't encode characters in ordinal not in range(128)...
现象 打印任何一种包含有中文的对象,字典.列表.DataFrame.或字符串.比如: print('中文') 控制台报错: Traceback (most recent call last):File ...
- macOS解决sublime text3运行python3报:UnicodeEncodeError: 'ascii' codec can't encode characters in position
在macOS中,使用sublime text3运行python3代码,打印语句中含有中文字符时报错, 解决方法如下: 修改Sublime Text3中的设置,Preferences > Brow ...
- python3报错处理:UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 0-1
一.背景说明 最开始不愿意使用Python,一大原因是因为Python2默认使用ASCII编码处理中文可以说是一件痛苦的事情.仅从更换默认编码一项变换,就可以说Python3和Python2不算同一门 ...
- (转)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 ...
- [转]Python UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 的解决办法...
UnicodeEncodeError: 'ascii' codec can't encode characters in position 的解决办法 python在安装时,默认的编码是ascii,当 ...
- 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') 结果报了如下的错 ...
- 解决UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 问题(转)
解决UnicodeEncodeError: 'ascii' codec can't encode characters in position 问题(转) 参考文章: (1)解决UnicodeEnco ...
- 已解决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 ...
- 已解决 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" ...
最新文章
- 大数据-spark-hbase-hive等学习视频资料
- RGBA和ARGB的区别
- IplImage简介
- mysql无法存储文字_mysql存储不了中文字符串怎么办
- OutOfMemoryError:无法创建新的本机线程–问题神秘化
- vue实战(9):总结二
- 判断一个数是否为质数
- 【SGU495】Kids and Prizes(概率dp)
- 小甲鱼python电子版_小甲鱼学python
- opencv学习十二(车牌识别)
- 数字图像处理 冈萨雷斯 一些理解
- matlab 蜗杆轮廓,基于MATLAB的直廓环面蜗杆的可视化
- CHM 格式打开不显示网页
- 导入tkinter出错
- css 实现对话气泡
- ubuntu和mac进行文件传输 运用scp命令
- Android开发:微信平台应用申请
- ctfshow_2021月饼杯记录
- 【Java基础】基础概念与常识
- vscode中搭建Golang开发环境(图文并茂)
热门文章
- svn: E200033: database is locked, executing statement 'RELEASE s0' 问题解决办法
- 线程基础知识_Synchronized_ThreadAPI_自定义锁_获取线程运行时异常
- 十、PHP框架Laravel学习笔记——数据库配置入门
- 二、Java 面向对象高级——Collection、泛型
- LeetCode 1758. 生成交替二进制字符串的最少操作数(DP)
- 牛客 牛牛选物(01背包)
- LeetCode 833. 字符串中的查找与替换(排序,replace)
- 天池 在线编程 中位数
- LeetCode 1625. 执行操作后字典序最小的字符串(BFS)
- [编程启蒙游戏] 1. 猜数字