Невозможно декодировать «текст деванагари», переданный как параметр URL - PullRequest
1 голос
/ 10 октября 2019

Мое приложение Python Flask не может декодировать текст деванагари, например: «सिंगापूर», который я передаю как urlparam от моего почтальона. Если я отправляю текст на английском языке, он хорошо его обрабатывает.

Мой запрос 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": "सिंगापूर"
}

1 Ответ

1 голос
/ 11 октября 2019

Вам нужно предотвратить принудительный ответ 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...