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

麻烦大神给看下谢谢

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


小怪兽爱吃肉
浏览 3166回答 2
2回答

Qyouu

后面路过的换上 js2py,可以解决中文bugimport js2pylist = js2py.eval_js(jsstr)

FFIVE

可以试下这样import sysreload(sys)sys.setdefaultencoding('utf-8')如果不行,看下你的字符编码方式是什么>>>import sys>>>sys.stdout.encoding'UTF-8'
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python