为了账号安全,请及时绑定邮箱和手机立即绑定

python3 execjs 执行js代码, 代码里有中文和转义符就报错

python3 execjs 执行js代码, 代码里有中文和转义符就报错

小怪兽爱吃肉 2018-08-23 20:57:46
麻烦大神给看下谢谢jss = """ var apps =[   {     "id": "13970",     "uid": "193586",     "title": "\u8fd0\u52a8\u6b65\u6570\u5b9d\u6b65\u6b6",     "price": "1620.00",     "price_max": "1980.00",     "purchases": "121",     "ad_support": "1",     "wxapp_support": "2",     "encrypt": "0",     "createtime": "1533455964",     "type": "1",     "displayorder": "1",     "price_range": "1620.00 - 1980.00",     "is_new": true,     "date_format": "2018-08-05",     "month_day_format": "08.05",     "time_format": "15:59:24",     "username": "hudasd"     } ]; let getDB=()=>apps; """compile = js_engine.compile(jss) res = compile.call('getDB')print(res) exit() UnicodeEncodeError: 'ascii' codec can't encode characters in position 132-143: ordina
查看完整描述

2 回答

?
Qyouu

TA贡献1786条经验 获得超11个赞

后面路过的换上 js2py,可以解决中文bug

import js2pylist = js2py.eval_js(jsstr)


查看完整回答
反对 回复 2018-08-26
?
FFIVE

TA贡献1797条经验 获得超6个赞

可以试下这样

import sysreload(sys)sys.setdefaultencoding('utf-8')

如果不行,看下你的字符编码方式是什么

>>>import sys>>>sys.stdout.encoding'UTF-8'


查看完整回答
反对 回复 2018-08-26
  • 2 回答
  • 0 关注
  • 3165 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信