[英]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.