【发布时间】:2018-11-04 05:30:44
【问题描述】:
我对 Web 开发相对较新,对前端方面更不熟悉。我遇到了关于编码问题的问题。
- 环境:python 2.7,Flask
我正在向这样的服务器发送 json 数据。
@app.route("/test")
def test():
data = json.dumps({"name": "홍길동", "id": "gildong1"}, ensure_ascii=False)
return render_template("testpage.html", data=data)
我在服务器端打印了数据,它打印韩文字符很好。
但每当我收到这样的 javascript 数据时:
var t_data = JSON.parse({{data}});
控制台中的结果是这样的:
var t_data = JSON.parse({"name": "홍길동", "id": "gildong1"});
更新
我怀疑内容类型标头。当我通过调试器检查它时,我发现 Content-Type 标头是 u'text/html'。 所以我尝试像这样更改我的代码,但它仍然打印 unicode:
@app.route("/test")
def test():
data = json.dumps({"name":"홍길동", "id": "gildong1"}, ensure_ascii=False).encode("utf8")
resp = make_response(render_template("TestPage.html", data=data))
resp.headers['Content-Type'] = 'text/html'
return resp
【问题讨论】:
标签: javascript flask unicode encoding