一.问题描述


或者直接返回json格式的字符串


从上图可以看出,当flask实现的接口响应中存在中文时,接口返回json字串的中文为unicode乱码。
二.问题解决
百度搜索了很多,原来在创建flask app时使用json格式的字符串,默认是ascii编码方式,所以需要关闭这个编码格式
网上说Flask版本不同,关闭的方式也不同,但是对于我那个版本两种方式都可以解决,所以两种方式都可以试试!!!
flask 2.2.5以下的版本,添加关闭ascii编码方式
app = Flask(__name__)
app.config['JSON_AS_ASCII'] = False # 解决中文乱码问题
flask 2.3.0以上
app = Flask(__name__)
app.config['JSON_AS_ASCII'] = False # 解决中文乱码问题
最后问题得到解决^_^


三.其他
那新版本的要如何设置,下面这篇文章已经指出。