我正在运行带有文本输入的Flask Web服务,但现在我遇到的问题是文本输入有时包含未包含在ASCII字符集中的字符(错误示例:“(错误:没有文本)提供)'ascii'编解码器不能编码字符u'\ u2019'在位置20)“)
我的Flask Web服务代码看起来(有点)像这样:
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-string转换为unicode,但这不起作用(错误:'unicode'对象不可调用) . 我还尝试添加:
text = re.sub(r'[^\x00-\x7f]',r' ',text)
在规则之后
text = args['text']
但这也给了我同样的错误('ascii'编解码器不能编码字符) .
我怎么解决这个问题?
1 回答
您是否尝试从
self.reqparse.add_argument('text', type=str, required=True, help='Error: no text provided')
删除type=str
?资料来源:http://flask-restful-cn.readthedocs.org/en/0.3.4/reqparse.html