Ascii codec can't encode character
我正在运行一个带有文本输入的Flask Web服务,但现在我遇到了一个问题,即文本输入有时由不包含在ASCII字符集中的字符组成(错误示例:"(错误:未提供文本)"ASCII"编解码器无法对位置20中的字符U'u2019'进行编码。)
我的Flask Web服务代码如下(有些)所示:
1 2 3 4 5 6 7 8 9 10 | class Classname(Resource): def __init__(self): self.reqparse = reqparse.RequestParser() self.reqparse.add_argument('text', type=str, required=True, help='Error: no text provided') super(Classname,self).__init__() def post(self): args = self.reqparse.parse_args() text = args['text'] return resultOfSomeFunction(text) |
我已经尝试将ascii字符串转换为unicode,但没有成功(错误:"unicode"对象不可调用)。我还试图补充:
1 | text = re.sub(r'[^\x00-\x7f]',r' ',text) |
规则之后
1 | text = args['text'] |
但这也给了我同样的错误("ascii"编解码器不能编码字符)。
我怎么解决这个问题?
你试过从
Note:
The default argument type is a unicode string. This will be str in
python3 and unicode in python2
来源:http://flask-restful-cn.readthedocs.org/en/0.3.4/reqparse.html