python3 flask restful 传入中文参数 乱码

# -*- coding: utf-8 -*-
from flask import Flask
from flask_restful import reqparse,Api, Resource
app = Flask(__name__)
api = Api(app)

parser = reqparse.RequestParser()
parser.add_argument('task')

class TodoList(Resource):
    def post(self):
        args = parser.parse_args()
        str1 = args['task']
        print (str1)
        return str1,201
api.add_resource(TodoList, '/todos')

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

在cmd里输入

curl http://localhost:5000/todos -d "task=财汇端" -X POST -v

希望返回的是

财汇端

而不是

'\ufffd\u01bb\ufffd\ufffd'

图片描述
图片描述
我想在cmd里输出中文,比如说是传入的参数“财汇端”,我想出现的值也是财汇端,而不是ufffd这种编码格式的请问如何解决,,求大佬指点

阅读 12.6k
4 个回答

这是 windows 的 cmd 的问题,在 Linux 里表示很正常。

app.config['JSON_AS_ASCII'] = False

或者

app.config.update(RESTFUL_JSON=dict(ensure_ascii=False))

将上面两位大佬的方法结合后 就OK了

parser.add_argument('task', type=unicode) 就好了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题