flask:渲染unicode而不是string

时间:2015-02-14 13:31:09

标签: json python-2.7 unicode flask python-unicode

我有一个奇怪的问题,渲染unicode,它在浏览器中显示unicode,但如果我打印它会显示我的字符串

我正在使用带烧瓶的烧瓶

这是我的代码

class Branch_worker_view_information(Resource):
    decorators = [Clients.auth.login_required]
    def get(self,Worker_id):
        View_Information = Branch_And_Worker.query.filter_by(id=Worker_id).first()
        if View_Information is None:
            abort(404)

        #import json
        #jstring = json.dumps(View_Information.Displayed_Name, ensure_ascii=False)


        print View_Information.Displayed_Name
        return View_Information.Displayed_Name#jsonify(Displayed_Name=View_Information.Displayed_Name, Type=View_Information.Type)

在浏览器中我发生了什么"\u062a\u062c\u0631\u0628\u0629 \u062a\u062c\u0631\u0628\u0629" 在我的终端

تجربة تجربة 127.0.0.1 - - [14/Feb/2015 16:21:58] "GET /BOs/1 HTTP/1.1" 200 -

我在stackoverflow中尝试了很多解决方案,但最终获得了unicode

更新

我尝试使用make_response它可以很好地将其渲染为字符串 但是当我试图让它渲染json时它会给我unicode而不是string

1 个答案:

答案 0 :(得分:0)

我会找到一个解决方法,即使我认为这不是正确的方法

charset=utf-8让它发挥作用,无论如何这是我的代码

response = """
{
    "Displayed_Name": "%s",
    "Type": "%s",
    "Lat":"%s",
    "Lon":"%s",
    "City":"%s",
    "Txt_Address":"%s",
    "Status":"%s"
}
        """%(View_Information.Displayed_Name,
             View_Information.Type,
        View_Information.Lat,
        View_Information.Lon,
        View_Information.City,
        View_Information.Txt_Address,
        View_Information.Status)


        to_be_returned= make_response(response)
        to_be_returned.mimetype='application/json;charset=utf-8'

        return to_be_returned