我想显示我的语言,但它显示的是utf-8,而我的python版本是3.8.3
#!/usr/bin/env python
#-*- coding: utf-8 -*-
# Server Side
from flask import Flask
from flask_restful import Api,Resource,abort,reqparse,marshal_with,fields
import json
import requests
app=Flask(__name__)
api=Api(app)
##input
def getbotnoi(self,name):
return name
#design
class WeatherCity(Resource):
def get(self,name):
return getbotnoi(self,name)
#call
api.add_resource(WeatherCity,"/w/<string:name>")
if __name__ == "__main__":
app.run(debug=True)当它不是英语语言时,它显示utf8
发布于 2021-02-04 06:34:40
flask应用程序正常工作。您正在以不同的语言发送字符串,当您返回响应时,它将被UTF-8编码。
由于您使用的是flask_restful,因此默认情况下,响应将始终为JSON值,在本例中为JSON string。在字符串中写入非ASCII字符的默认方法是使用\u前缀。此外,浏览器不知道如何呈现这个\u前缀字符串。
您可以只使用flask返回原样的响应,而不是使用JSON编码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Server Side
from flask import Flask
from flask.views import MethodView
app = Flask(__name__)
def getbotnoi(self, name):
return name
class WeatherCity(MethodView):
def get(self, name):
return getbotnoi(self, name)
app.add_url_rule("/w/<string:name>", view_func=WeatherCity.as_view("weather"))
if __name__ == "__main__":
app.run(debug=True)默认情况下,这里的Content-Type是text/html; charset=utf-8,它将指示浏览器正确地呈现它。
https://stackoverflow.com/questions/66035847
复制相似问题