Windows中解决execjs的乱码问题

Windows中解决execjs的乱码问题

乱码原因:
运行时终端默认使用GBK编码,导致需要使用无法读取utf-8的字符集

问题情形
1.轻则变乱码,如下
2.重则报错:
属性错误:“NoneType”对象没有属性“替换”

2个解决方案:
1.硬改:以前的解决方法,不推荐,尽量不去改源文件里的东西。如下

因为python中连接那个字符的东西在subprocess里面的Popen类.我们找到其源文件,将encoding=None(没设置,默认为GBK),改为encoding='utf-8’即可,我的在763行。

2.推荐,软改

在引入execjs之前,加上这个
一定注意:在引入execjs之前
import subprocess
from functools import partial #用来固定某个参数的固定值
subprocess.Popen=partial(subprocess.Popen,encoding=‘utf-8’)

你可能感兴趣的:(python,sql)