簡體   English   中英

ASCII編解碼器無法編碼字符

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM