我的Python Flask应用程序无法解码devanagari文本,例如:我从邮递员作为urlparam传递的devanagari文本。如果我感觉到英文文本,它会很好地处理。
我的PostMan查询: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,则所有解释都将以相同的方式进行。