[英]Ascii codec can't encode character
我正在运行带有文本输入的Flask Web服务,但是现在我遇到的问题是,文本输入有时包含不包含在ASCII字符集中的字符(错误示例:“(错误:无文本提供)'ascii'编解码器无法在位置20)中编码字符u'\\ u2019'
我的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字符串转换为unicode,但这没有用(错误:'unicode'对象不可调用)。 我还尝试添加:
text = re.sub(r'[^\x00-\x7f]',r' ',text)
在规则之后
text = args['text']
但这也给了我同样的错误(“ ascii”编解码器无法编码字符)。
我该如何解决?
您是否尝试self.reqparse.add_argument('text', type=str, required=True, help='Error: no text provided')
删除type=str
?
注意:
默认参数类型是unicode字符串。 这将是python3中的str和python2中的unicode
资料来源: http : //flask-restful-cn.readthedocs.org/en/0.3.4/reqparse.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.