申 请 I D :会做饭的菜鸡
2、个人邮箱:17630583910@163.com
3、原创技术文章: python在调用js过程中出现的编码问题解决方法
本人在csdn发布过(https://mp.csdn.net/mp_blog/creation/editor/143501092)
import execjs
# 编译JavaScript代码
ctx = execjs.compile(open("xxx.js", "r", encoding="utf-8").read())
# 调用JavaScript函数result = ctx.call("get_xb_ret")
有时候调用js代码的时候会出现编码问题:UnicodeEncodeError :gbk' codec can't encode character '\xff' in position 5063:illegal multibyte sequence
可以做如下修改
1.查找包exec_js,
2.找到_external_runtime.py文件
3.搜索stdoutdata, stderrdata = p.communicate(input=input)【大概在103行】
4.然后找到p = Popen(cmd,stdin=PlPE.stdout=PIPE.,stderr=PIPE.cwd=self.cwd.universal newlines=True)这一行添加参数encoding="utf-8"即可
报错及修改位置,点击报错红框的代码,找到如下位置,添加编码即可

 |