Flask服务器无法读取西里尔文请求

时间:2019-03-15 07:25:43

标签: python flask character-encoding

这是我的简单终点:

@app.route('/test', methods=['POST'])
def test():
    print(request.data)
    return Response("", mimetype='application/json')

请求正文为:

"тест"

然后服务器打印b'"\xd1\x82\xd0\xb5\xd1\x81\xd1\x82"'作为请求数据。

如何设置适当的字符集,提供内容类型标头却什么也没做?

还有一种方法可以在每个请求正文的开头消除烦人的b吗?

1 个答案:

答案 0 :(得分:0)

对于有类似问题的任何人:

from flask import Flask
from flask import Response
from flask import reques
import chardet

@app.route('/test', methods=['POST'])
def test():
    charset = chardet.detect(request.data)['encoding']
    print(request.data.decode(charset))
    return Response("", mimetype='application/json')

我无法为此做个烧瓶... 因此您必须手动解码字节。