zqifa的博客

我不管,反正我最萌~

Python2 报错 LookupError: unknown encoding: cp65001 解决办法

Windows下CMD运行python,执行命令 python2 hello.py 报错,报错信息:LookupError: unknown encoding: cp65001

报错原因:编码不一样

CMD当前活动窗口encoding是 65001 ,即UTF-8编码。
Python2默认编码是ASCII,所以会报错。

网上找了一些解决办法,包括使用win-unicode-console包、sys.setdefaultencoding("utf-8")等,不过都没有解决问题。

1.使用win-unicode-console包的方法(未解决)
设置完encoding变量后安装win-unicode-console python包,根源上解决问题
包的作用:从Windows控制台运行Python时,可以启用Unicode输入和显示的Python包

输入下列代码:pip2 install win-Unicode-console

2.使用sys.setdefaultencoding("utf-8")设置编码的方法(未解决)

import sys
reload(sys)
sys.setdefaultencoding("utf-8")

解决方法:添加 PYTHONIOENCODING 环境变量解决了问题。

设置 Python encoding 相关环境变量,添加名称为 PYTHONIOENCODING 的环境变量($env:PYTHONIOENCODING = "UTF-8"),值为UTF-8,保持CMD编码和Python2编码一致,都为UTF-8就行了。

执行命令 python2 hello.py 就可以正常输出了。

附:修改CMD的编码模式的命令

1.修改CMD编码为GBK
chcp 936
2.修改CMD编码为UTF-8
chcp 65001

done!

作者:zqifa

出处:https://www.l1mn.com

原文地址:https://www.l1mn.com/p/yf6ew4.html

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

公告

昵称:zqifa

站龄: 3年11个月

博客持续完善ing,敬请期待...

打滚求打赏(๑ ̄ ̫  ̄๑)

此处弱弱求打赏~~万一有好心人呢~~

支付宝酱

支付宝赞助

微信酱

微信赞助

随笔分类

php(110)

linux(63)

python(44)

web前端(39)

js(35)

服务器(33)

mysql(30)

html(24)

docker(23)

centos(22)

windows(22)

django(20)

前端设计(18)

git(16)

数据库(14)

算法(14)

常用软件(14)

编程进阶(13)

字符编码(13)

jquery(12)

更多

我的标签

php(106)

linux(47)

python(45)

js(34)

mysql(30)

centos(28)

web前端(23)

windows(22)

docker(22)

django(20)

更多

相册

Copyright © zqifa 联系方式:z___qf@163.com