Tôi đang cố gắng thực hiện một HTTP POST với chuỗi unicode (u '\ xe4 \ xf6 \ xfc') làm tham số trong Python , nhưng tôi nhận được lỗi sau:UnicodeEncodeError: codec 'ascii' không thể mã hóa ký tự khi thử HTTP POST bằng Python
UnicodeEncodeError: 'ascii' codec không thể mã hóa nhân vật
Điều này là để các mã được sử dụng để làm cho HTTP POST (với httplib2)
http = httplib2.Http()
userInfo = [('Name', u'\xe4\xf6\xfc')]
data = urlencode(userInfo)
resp, content = http.request(url, 'POST', body=data)
Bất kỳ ý tưởng về cách giải quyết vấn đề này?
Đã xảy ra sự cố với mã hóa trước đó, nhưng sau đó tôi đã thực hiện nội tuyến đó. Như thế này: userInfo = [('Tên', u '\ xe4 \ xf6 \ xfc'.encode (' utf-8 '))] Dù sao, xin trả lời nhanh – David
Câu hỏi tương tự của bài đăng này, http://stackoverflow.com/questions/1652904/easy-q-unicodeencodeerror-ascii-codec-cant-encode-character – shahjapan
Sẽ hữu ích nếu tài liệu cho httplib2 và httplib đề cập đến ràng buộc này. – chernevik