Flask实现的接口响应中存在中文时接口返回为unicode乱码的解决方法

 更新时间:2023年11月15日 09:57:55   作者:阿速之吉  
本文给大家分享了新版Flask实现的接口响应中存在中文时接口返回为unicode乱码的解决方法,文中通过代码示例和图文介绍的非常详细,如果有遇到相同问题的朋友,可以参考阅读本文

问题描述

当flask实现的接口响应中存在中文时,接口返回为unicode乱码。

其实这个是ASCII码。

使用在线转换工具转换看看效果。

问题排查

网上找了很多资料都是说,在创建flask app时,关闭ascii编码方式

app = Flask(__name__)
app.config['JSON_AS_ASCII'] = False  # 解决中文乱码问题

这个针对flask 2.2.5以下的版本确实是可行的,但是高版本就失灵了,这魔法师灵了。

还好我的开发环境Flask有多个版本;

稍微老点的:Flask 2.2.5

最新的版本:Flask 2.3.3

同一份代码,两个版本一个生效一个不生效,那基本确定是版本的原因了。

于是就去翻看了官方的版本更新日志,终于找到了原来在版本 2.3.0时已经弃JSON_AS_ASCII这个属性了。那么新版要怎么处理呢,这里就不多赘述,先直接上解决办法,想深入研究的同学,可以翻到后面继续看。

问题解决

flask 2.3.0以上

app = Flask(__name__)
app.json.ensure_ascii = False # 解决中文乱码问题

flask 2.2.5以下

app = Flask(__name__)
app.config['JSON_AS_ASCII'] = False  # 解决中文乱码问题

重启项目代码。

这里说下为啥要关闭ascii编码方式呢,那是因为Flask初始化app时默认是开启的,所以咱们在自己做项目时,按需求将其开启或关闭。

此时再看看接口返回,已经正常返回中文。

Flask版本的坑

flask更新日志:

Changes — Flask Documentation (2.3.x)

从上图就可看出,2.3.0版本已经将JSON_AS_ASCII属性移除了。

那新版本的要怎么设置呢,下面这篇文章已经指出。

API — Flask Documentation (2.3.x)

英文不好的同学可以看翻译

以上就是新版Flask实现的接口响应中存在中文时接口返回为unicode乱码的解决方法的详细内容,更多关于新版Flask返回中文unicode乱码解决的资料请关注脚本之家其它相关文章!

相关文章

  • Python pass函数使用及其应用的详解

    Python pass函数使用及其应用的详解

    Python中,pass是一种空语句,即不做任何事情,只起到占位符的作用,本文主要介绍了Python pass函数使用及其应用的详解,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • 对Python之gzip文件读写的方法详解

    对Python之gzip文件读写的方法详解

    今天小编就为大家分享一篇对Python之gzip文件读写的方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • Python将字符串常量转化为变量方法总结

    Python将字符串常量转化为变量方法总结

    在本篇内容里我们给大家整理了一篇关于Python将字符串常量转化为变量方法的知识点总结,有需要的朋友们学习下。
    2019-03-03
  • Python人工智能实战之以图搜图的实现

    Python人工智能实战之以图搜图的实现

    这篇文章主要为大家详细介绍了如何基于vgg网络和Keras深度学习框架实现以图搜图功能。文中的示例代码讲解详细,感兴趣的小伙伴可以学习一下
    2022-05-05
  • pycharm与cmd中制表符不一样的问题解决

    pycharm与cmd中制表符不一样的问题解决

    本文主要介绍了PyCharm和CMD中制表符宽度不同的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-12-12
  • Python连接到PostgreSQL数据库的方法详解

    Python连接到PostgreSQL数据库的方法详解

    顾名思义,PostgreSQL 是一款为高效管理数据库系统而创建的 SQL 系统软件,这篇文章主要为大家详细介绍了创建与 PostgreSQL 上的数据库的连接的过程,需要的小伙伴可以了解下
    2023-10-10
  • python列表中删除多条字典信息的三种方法

    python列表中删除多条字典信息的三种方法

    本文主要介绍了python列表中删除多条字典信息的三种方法,主要包括列表推导式,filter()函数,del 关键字这三种方法,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • Python爬虫之UserAgent的使用实例

    Python爬虫之UserAgent的使用实例

    今天小编就为大家分享一篇关于Python爬虫之UserAgent的使用实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • 使用Python进行自动化部署详解

    使用Python进行自动化部署详解

    在软件开发和运维领域,自动化部署是一个至关重要的环节,本文将介绍如何使用Python进行自动化部署,并提供代码实例来说明,希望对大家有所帮助
    2024-04-04
  • Python3.8.2安装包及安装教程图文详解(附安装包)

    Python3.8.2安装包及安装教程图文详解(附安装包)

    这篇文章主要介绍了Python3.8.2安装包及安装教程图文详解,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11

最新评论