最近,突然接触到Brave这个浏览器,正好有研究源码的需求。就尝试在本地编译一个。
但是在编译过程中抛出报错:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd2 in position 506: invalid continuation byte提示在python3\bin\Lib\subprocess.py 文件中1016行的问题。
报错位置结合报错信息估计编码问题。尝试使用set PYTHONUTF8=1环境变量解决问题。
但是,仔细阅读报错发现是无法解码为UTF-8,估计和Windows中文系统默认编码GB2312有关。
又因为报错位置在python自带的子进程库中,所以排查到调用位置D:\brave\src\testing\scripts\common.py的69行,添加encoding='gb2312'。
添加encoding='gb2312'问题解决~
一切正常