Flask无法渲染变音符号

时间:2014-02-20 20:05:54

标签: encoding utf-8 flask jinja2

似乎无法在Flask中呈现变音符号。 我有2个文件:

main.py(Flask app):

# -*- coding: utf-8 -*-

from flask import Flask, jsonify
from data import d

app = Flask(__name__)

@app.route('/')
def main():
    return jsonify(d)

if __name__ == '__main__':
    app.run()

data.py(包含带变音符号的数据):

# -*- coding: utf-8 -*-

d = {u'str': u'äöüß'}

runnig main.py浏览器中的输出是:

{
  "str": "\u00e4\u00f6\u00fc\u00df"
}

有没有办法显示'äöüß'?

感谢Eriq

2 个答案:

答案 0 :(得分:1)

使用json.dumps代替jsonify,如下所示。

@app.route('/')
def main():
    return json.dumps(d,ensure_ascii=False)

ensure_ascii参数负责您是否要显示ascii。

答案 1 :(得分:1)

我知道这是一个老问题,但请查看Flask的configuration values。特别是,将JSON_AS_ASCII设置为False可让您按照自己的方式使用jsonify