python flask 返回中文乱码

使用flask返回数据中带有中文的时候会显示成乱码(ascii),

中文报文:

python 复制代码
ABAP中的三大财务报表是:

* **资产负债表**
* **收入证明**
* **现金流量表**

这些报表全面概述了公司的财务状况和业绩。

* **资产负债表**显示公司在特定时间点的资产、负债和股东权益。这是公司财务健康状况的缩影。
* **损益表**显示公司在一段时间内的收入、支出和利润。它是衡量公司盈利能力的指标。
* **现金流量表**显示公司在一段时间内的现金流入和流出。它是衡量公司流动性的指标。

这三个陈述是相互关联的。资产负债表提供了损益表的起点,损益表提供了编制现金流量表所需的信息。

ABAP 提供了许多可用于创建和分析这些财务报表的函数和报告。

以下是每个声明内容的简要概述:

**资产负债表**

* 资产:这部分列出了公司的资产,即公司拥有或控制的资产。资产分为流动资产和非流动资产。
* 负债:本节列出公司的负债,即公司他人的债务。负债分为流动负债和非流动负债。
* 股东权益:这部分显示公司股东投资于公司的金额,加上公司尚未分配给股东的累计利润。

**收入证明**

* 收入:这部分显示公司通过销售商品或服务赚取的金额。
* 费用:这部分显示公司用于销售商品成本、运营费用和其他费用的金额。
* 损益:这部分显示公司当期的损益。

**现金流量表**

* 经营活动:这部分显示公司经营活动的现金流入和流出,例如销售、采购和费用。
* 投资活动:本节显示公司投资活动(例如资产购买和出售)的现金流入和流出。
* 融资活动:本节显示公司融资活动(例如发行债务和偿还债务)的现金流入和流出。

我希望这有帮助!

乱码报文:
"ABAP\u4e2d\u7684\u4e09\u5927\u8d22\u52a1\u62a5\u8868\u662f\uff1a\n\n* **\u8d44\u4ea7\u8d1f\u503a\u8868**\n* **\u6536\u5165\u8bc1\u660e**\n* **\u73b0\u91d1\u6d41\u91cf\u8868**\n\n\u8fd9\u4e9b\u62a5\u8868\u5168\u9762\u6982\u8ff0\u4e86\u516c\u53f8\u7684\u8d22\u52a1\u72b6\u51b5\u548c\u4e1a\u7ee9\u3002\n\n* **\u8d44\u4ea7\u8d1f\u503a\u8868**\u663e\u793a\u516c\u53f8\u5728\u7279\u5b9a\u65f6\u95f4\u70b9\u7684\u8d44\u4ea7\u3001\u8d1f\u503a\u548c\u80a1\u4e1c\u6743\u76ca\u3002\u8fd9\u662f\u516c\u53f8\u8d22\u52a1\u5065\u5eb7\u72b6\u51b5\u7684\u7f29\u5f71\u3002\n* **\u635f\u76ca\u8868**\u663e\u793a\u516c\u53f8\u5728\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u6536\u5165\u3001\u652f\u51fa\u548c\u5229\u6da6\u3002\u5b83\u662f\u8861\u91cf\u516c\u53f8\u76c8\u5229\u80fd\u529b\u7684\u6307\u6807\u3002\n* **\u73b0\u91d1\u6d41\u91cf\u8868**\u663e\u793a\u516c\u53f8\u5728\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u73b0\u91d1\u6d41\u5165\u548c\u6d41\u51fa\u3002\u5b83\u662f\u8861\u91cf\u516c\u53f8\u6d41\u52a8\u6027\u7684\u6307\u6807\u3002\n\n\u8fd9\u4e09\u4e2a\u9648\u8ff0\u662f\u76f8\u4e92\u5173\u8054\u7684\u3002\u8d44\u4ea7\u8d1f\u503a\u8868\u63d0\u4f9b\u4e86\u635f\u76ca\u8868\u7684\u8d77\u70b9\uff0c\u635f\u76ca\u8868\u63d0\u4f9b\u4e86\u7f16\u5236\u73b0\u91d1\u6d41\u91cf\u8868\u6240\u9700\u7684\u4fe1\u606f\u3002\n\nABAP \u63d0\u4f9b\u4e86\u8bb8\u591a\u53ef\u7528\u4e8e\u521b\u5efa\u548c\u5206\u6790\u8fd9\u4e9b\u8d22\u52a1\u62a5\u8868\u7684\u51fd\u6570\u548c\u62a5\u544a\u3002\n\n\u4ee5\u4e0b\u662f\u6bcf\u4e2a\u58f0\u660e\u5185\u5bb9\u7684\u7b80\u8981\u6982\u8ff0\uff1a\n\n**\u8d44\u4ea7\u8d1f\u503a\u8868**\n\n* \u8d44\u4ea7\uff1a\u8fd9\u90e8\u5206\u5217\u51fa\u4e86\u516c\u53f8\u7684\u8d44\u4ea7\uff0c\u5373\u516c\u53f8\u62e5\u6709\u6216\u63a7\u5236\u7684\u8d44\u4ea7\u3002\u8d44\u4ea7\u5206\u4e3a\u6d41\u52a8\u8d44\u4ea7\u548c\u975e\u6d41\u52a8\u8d44\u4ea7\u3002\n* \u8d1f\u503a\uff1a\u672c\u8282\u5217\u51fa\u516c\u53f8\u7684\u8d1f\u503a\uff0c\u5373\u516c\u53f8\u6b20\u4ed6\u4eba\u7684\u503a\u52a1\u3002\u8d1f\u503a\u5206\u4e3a\u6d41\u52a8\u8d1f\u503a\u548c\u975e\u6d41\u52a8\u8d1f\u503a\u3002\n* \u80a1\u4e1c\u6743\u76ca\uff1a\u8fd9\u90e8\u5206\u663e\u793a\u516c\u53f8\u80a1\u4e1c\u6295\u8d44\u4e8e\u516c\u53f8\u7684\u91d1\u989d\uff0c\u52a0\u4e0a\u516c\u53f8\u5c1a\u672a\u5206\u914d\u7ed9\u80a1\u4e1c\u7684\u7d2f\u8ba1\u5229\u6da6\u3002\n\n**\u6536\u5165\u8bc1\u660e**\n\n* \u6536\u5165\uff1a\u8fd9\u90e8\u5206\u663e\u793a\u516c\u53f8\u901a\u8fc7\u9500\u552e\u5546\u54c1\u6216\u670d\u52a1\u8d5a\u53d6\u7684\u91d1\u989d\u3002\n* \u8d39\u7528\uff1a\u8fd9\u90e8\u5206\u663e\u793a\u516c\u53f8\u7528\u4e8e\u9500\u552e\u5546\u54c1\u6210\u672c\u3001\u8fd0\u8425\u8d39\u7528\u548c\u5176\u4ed6\u8d39\u7528\u7684\u91d1\u989d\u3002\n* \u635f\u76ca\uff1a\u8fd9\u90e8\u5206\u663e\u793a\u516c\u53f8\u5f53\u671f\u7684\u635f\u76ca\u3002\n\n**\u73b0\u91d1\u6d41\u91cf\u8868**\n\n* \u7ecf\u8425\u6d3b\u52a8\uff1a\u8fd9\u90e8\u5206\u663e\u793a\u516c\u53f8\u7ecf\u8425\u6d3b\u52a8\u7684\u73b0\u91d1\u6d41\u5165\u548c\u6d41\u51fa\uff0c\u4f8b\u5982\u9500\u552e\u3001\u91c7\u8d2d\u548c\u8d39\u7528\u3002\n* \u6295\u8d44\u6d3b\u52a8\uff1a\u672c\u8282\u663e\u793a\u516c\u53f8\u6295\u8d44\u6d3b\u52a8\uff08\u4f8b\u5982\u8d44\u4ea7\u8d2d\u4e70\u548c\u51fa\u552e\uff09\u7684\u73b0\u91d1\u6d41\u5165\u548c\u6d41\u51fa\u3002\n* \u878d\u8d44\u6d3b\u52a8\uff1a\u672c\u8282\u663e\u793a\u516c\u53f8\u878d\u8d44\u6d3b\u52a8\uff08\u4f8b\u5982\u53d1\u884c\u503a\u52a1\u548c\u507f\u8fd8\u503a\u52a1\uff09\u7684\u73b0\u91d1\u6d41\u5165\u548c\u6d41\u51fa\u3002\n\n\u6211\u5e0c\u671b\u8fd9\u6709\u5e2e\u52a9\uff01"

解决办法:

在flask中用jsonify转换后再返回

python 复制代码
# -*- coding: utf-8 -*-
# coding:unicode_escape
#Created on 2023年5月15日

#@author: LinHuang
from flask import Flask,request,jsonify
from flask_restful import reqparse, abort, Api, Resource
import urllib.request 
from googleapiclient.discovery import build
from flask_cors import CORS
import json
import os
from bardapi import Bard
os.environ["_BARD_API_KEY"] = 'XXX'
os.environ['LANG'] = 'en_US.UTF-8' # 设置编码方式
bardToken = 'XXX'
app = Flask(__name__)
api = Api(app)
app.config['JSON_AS_ASCII'] = False
parser = reqparse.RequestParser()
parser.add_argument('input_text', type=str)

def set():
	return ''
class BardApi(Resource):
  def get(self):
      args = parser.parse_args()
      return "你好Bard"
  def post(self):
      args = parser.parse_args()
      q = args['input_text'];
      bard = Bard(token=bardToken, language='chinese (simplified)')
      res = bard.get_answer(q)
      content = res['content']
      jstr=jsonify(content)
      print(jstr)
      return jstr

api.add_resource(BardApi, '/')

if __name__ == '__main__':
    print('bard api is running!')    
    CORS(app, resources=r'/*')
    app.run(debug=False,host="0.0.0.0",port="5001")

显示正常

相关推荐
工业3D_大熊3 分钟前
【虚拟仿真】CEETRON SDK在船舶流体与结构仿真中的应用解读
java·python·科技·信息可视化·c#·制造·虚拟现实
喵叔哟7 分钟前
重构代码之用委托替代继承
开发语言·重构
lzb_kkk12 分钟前
【JavaEE】JUC的常见类
java·开发语言·java-ee
SEEONTIME12 分钟前
python-24-一篇文章彻底掌握Python HTTP库Requests
开发语言·python·http·http库requests
Bearnaise12 分钟前
PointMamba: A Simple State Space Model for Point Cloud Analysis——点云论文阅读(10)
论文阅读·笔记·python·深度学习·机器学习·计算机视觉·3d
起名字真南31 分钟前
【OJ题解】C++实现字符串大数相乘:无BigInteger库的字符串乘积解决方案
开发语言·c++·leetcode
tyler_download42 分钟前
golang 实现比特币内核:实现基于椭圆曲线的数字签名和验证
开发语言·数据库·golang
小小小~43 分钟前
qt5将程序打包并使用
开发语言·qt
hlsd#43 分钟前
go mod 依赖管理
开发语言·后端·golang
哇咔咔哇咔43 分钟前
【科普】conda、virtualenv, venv分别是什么?它们之间有什么区别?
python·conda·virtualenv