最近,突然接触到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'
问题解决~