无法解码作为 URL 参数传递"devanagari text"



我的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,它都会以相同的方式解释。

最新更新