Flask實(shí)現(xiàn)的接口響應(yīng)中存在中文時(shí)接口返回為unicode亂碼的解決方法
問(wèn)題描述
當(dāng)flask實(shí)現(xiàn)的接口響應(yīng)中存在中文時(shí),接口返回為unicode亂碼。
其實(shí)這個(gè)是ASCII碼。
使用在線轉(zhuǎn)換工具轉(zhuǎn)換看看效果。
問(wèn)題排查
網(wǎng)上找了很多資料都是說(shuō),在創(chuàng)建flask app時(shí),關(guān)閉ascii編碼方式
app = Flask(__name__) app.config['JSON_AS_ASCII'] = False # 解決中文亂碼問(wèn)題
這個(gè)針對(duì)flask 2.2.5以下的版本確實(shí)是可行的,但是高版本就失靈了,這魔法師靈了。
還好我的開(kāi)發(fā)環(huán)境Flask有多個(gè)版本;
稍微老點(diǎn)的:Flask 2.2.5
最新的版本:Flask 2.3.3
同一份代碼,兩個(gè)版本一個(gè)生效一個(gè)不生效,那基本確定是版本的原因了。
于是就去翻看了官方的版本更新日志,終于找到了原來(lái)在版本 2.3.0時(shí)已經(jīng)棄JSON_AS_ASCII這個(gè)屬性了。那么新版要怎么處理呢,這里就不多贅述,先直接上解決辦法,想深入研究的同學(xué),可以翻到后面繼續(xù)看。
問(wèn)題解決
flask 2.3.0以上
app = Flask(__name__) app.json.ensure_ascii = False # 解決中文亂碼問(wèn)題
flask 2.2.5以下
app = Flask(__name__) app.config['JSON_AS_ASCII'] = False # 解決中文亂碼問(wèn)題
重啟項(xiàng)目代碼。
這里說(shuō)下為啥要關(guān)閉ascii編碼方式呢,那是因?yàn)镕lask初始化app時(shí)默認(rèn)是開(kāi)啟的,所以咱們?cè)谧约鹤鲰?xiàng)目時(shí),按需求將其開(kāi)啟或關(guān)閉。
此時(shí)再看看接口返回,已經(jīng)正常返回中文。
Flask版本的坑
flask更新日志:
Changes — Flask Documentation (2.3.x)
從上圖就可看出,2.3.0版本已經(jīng)將JSON_AS_ASCII屬性移除了。
那新版本的要怎么設(shè)置呢,下面這篇文章已經(jīng)指出。
API — Flask Documentation (2.3.x)
英文不好的同學(xué)可以看翻譯
以上就是新版Flask實(shí)現(xiàn)的接口響應(yīng)中存在中文時(shí)接口返回為unicode亂碼的解決方法的詳細(xì)內(nèi)容,更多關(guān)于新版Flask返回中文unicode亂碼解決的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python?pass函數(shù)使用及其應(yīng)用的詳解
Python中,pass是一種空語(yǔ)句,即不做任何事情,只起到占位符的作用,本文主要介紹了Python?pass函數(shù)使用及其應(yīng)用的詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07對(duì)Python之gzip文件讀寫(xiě)的方法詳解
今天小編就為大家分享一篇對(duì)Python之gzip文件讀寫(xiě)的方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-02-02Python將字符串常量轉(zhuǎn)化為變量方法總結(jié)
在本篇內(nèi)容里我們給大家整理了一篇關(guān)于Python將字符串常量轉(zhuǎn)化為變量方法的知識(shí)點(diǎn)總結(jié),有需要的朋友們學(xué)習(xí)下。2019-03-03Python人工智能實(shí)戰(zhàn)之以圖搜圖的實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了如何基于vgg網(wǎng)絡(luò)和Keras深度學(xué)習(xí)框架實(shí)現(xiàn)以圖搜圖功能。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以學(xué)習(xí)一下2022-05-05Python連接到PostgreSQL數(shù)據(jù)庫(kù)的方法詳解
顧名思義,PostgreSQL?是一款為高效管理數(shù)據(jù)庫(kù)系統(tǒng)而創(chuàng)建的?SQL?系統(tǒng)軟件,這篇文章主要為大家詳細(xì)介紹了創(chuàng)建與?PostgreSQL?上的數(shù)據(jù)庫(kù)的連接的過(guò)程,需要的小伙伴可以了解下2023-10-10Python爬蟲(chóng)之UserAgent的使用實(shí)例
今天小編就為大家分享一篇關(guān)于Python爬蟲(chóng)之UserAgent的使用實(shí)例,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02