我的Python Flask应用程序无法解码我从邮递员那里作为urlparam传递的梵文文本,例如:"सिंगापूर"。如果我输入英文文本,它会处理得很好。
我的邮递员查询: GET http://localhost:5000/getSimilarWord/सिंगापूर
from flask import Flask
from flask_restful import Resource, Api
class DevnagriText(Resource):
def get(self, textInput):
print("parsed String is :",textInput)
return {'text': textInput}
api.add_resource(DevnagriText, '/getWord/<string:textInput>')
if __name__ == '__main__':
app.run(debug=True)
我在控制台上得到的输出是
{
"text": "u00818"
}
而不是
{
"text": "सिंगापूर"
}
您需要防止响应强制 ASCII:app.config['JSON_AS_ASCII'] = False
所以在你的例子中:
from flask import jsonify, Flask
from flask_restful import Resource, Api
app = Flask(__name__)
app.config['JSON_AS_ASCII'] = False
api = Api(app)
class DevnagriText(Resource):
def get(self, textInput):
print("parsed String is :",textInput)
return jsonify(text=textInput)
api.add_resource(DevnagriText, '/getWord/<string:textInput>')
if __name__ == '__main__':
app.run(debug=True)
但是,这并不重要,如果它被读入Python或JavaScript,它都会以相同的方式解释。