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)文章
使用Numpy對(duì)特征中的異常值進(jìn)行替換及條件替換方式
這篇文章主要介紹了使用Numpy對(duì)特征中的異常值進(jìn)行替換及條件替換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06
Python Flask利用SocketIO庫(kù)實(shí)現(xiàn)圖表的繪制
這篇文章主要為大家詳細(xì)介紹了Python Flask框架如何利用SocketIO庫(kù)實(shí)現(xiàn)圖表的繪制,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下2022-12-12
Python實(shí)現(xiàn)FTP弱口令掃描器的方法示例
這篇文章主要介紹了Python實(shí)現(xiàn)FTP弱口令掃描器的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-01-01
python實(shí)現(xiàn)zencart產(chǎn)品數(shù)據(jù)導(dǎo)入到magento(python導(dǎo)入數(shù)據(jù))
這篇文章主要介紹了python實(shí)現(xiàn)zencart產(chǎn)品數(shù)據(jù)導(dǎo)入到magento(python導(dǎo)入數(shù)據(jù)),需要的朋友可以參考下2014-04-04
Python機(jī)器學(xué)習(xí)NLP自然語(yǔ)言處理基本操作精確分詞
本文是Python機(jī)器學(xué)習(xí)NLP自然語(yǔ)言處理系列文章,帶大家開(kāi)啟一段學(xué)習(xí)自然語(yǔ)言處理 (NLP) 的旅程. 本文主要學(xué)習(xí)NLP自然語(yǔ)言處理基本操作之如何精確分詞2021-09-09

