文章目录
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. 待补充
如果有别的解决方法,请一起分享出来吧。
本文探讨了如何处理代码中open()函数的编码问题,包括指定编码、环境变量设置、IDE配置,以及针对依赖库编码不匹配的解决方案,如修改编码格式和注意事项。同时涉及Windows系统编码设置和特定场景下的编码转换建议。
3860





