windows 环境解决 python 3 编码错误 UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x80 in position 16

1. 自己代码报错了

1.1 open() 指定编码方式【推荐】

对依赖库编码报错也有用,但是要修改本地依赖库的源码,因此不推荐

这个很直接,就是open函数加一个入参就行了。

f = open('text.txt',encoding='utf-8')

1.2 PYTHONIOENCODING 环境变量

对依赖库编码报错没用

配置一个系统变量,指定python编码

# 临时设置
set PYTHONIOENCODING=utf8

永久设置就是配置一下环境变量
计算机 -> 属性 -> 高级系统设置 -> 环境变量
在这里插入图片描述

1.3 IDE 配置编码

对依赖库编码报错没用,对命令行执行好像也没用

这种也不太推荐,换个IDE就没了。
Pycharm Settings -> File Encodings
在这里插入图片描述

2. 依赖库代码报错了

2.1 open() 指定编码方式

虽然也可以直接改依赖库的本地源码,但是个人不推荐。因为换个环境还是会报错,不可能每搭一个新环境就改一次别人代码吧。

f = open('text.txt',encoding='utf-8')

2.2 win 10 系统编码兼容设置

此方法可能会导致其他的软件显示中文乱码。

语言 -> 管理语言设置 -> 更改系统区域设置 -> 使用 Unicode UTF-8 支持
在这里插入图片描述

2.3 将文件的编码格式改成 ANSI

pytest的 pytest.ini 文件就会遇到这个问题,在 Windows 上执行需要讲 UTF-8的文件格式改为 ANSI。

3. 待补充

如果有别的解决方法,请一起分享出来吧。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值