> 文档中心 > python 引用execjs 执行js脚本时编码错误问题

python 引用execjs 执行js脚本时编码错误问题

报错:(UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xad in position 20: illegal )

        ​​​​错误出在python内部的subprocess.py文件

方法一:

在引入execjs前加上下面三行代码

import subprocessfrom functools import partialsubprocess.Popen = partial(subprocess.Popen, encoding="utf-8")# 修改编码方式,window默认编码是gbk,Mac和Linux 默认是uft-8#在前面三行后import需要的库 execjsimport execjs

方法二:打开subprocess.py文件,找到初始化函数__init__(),修改参数的默认值为encoding=‘utf-8’,程序运行不再报错