Я пытаюсь сделать POST HTTP со строкой unicode (u '\xe4\xf6\xfc') в качестве параметра в Python, но я получаю следующую ошибку:
UnicodeEncodeError: кодек 'ASCII' не может закодировать символ
Это к коду, используемому для создания POST HTTP (с httplib2)
http = httplib2.Http()
userInfo = [('Name', u'\xe4\xf6\xfc')]
data = urlencode(userInfo)
resp, content = http.request(url, 'POST', body=data)
Какие-либо идеи о том, как решить это?
Вы не можете напрямую размещать объекты Python Unicode. Вы должны сначала закодировать его как строку UTF-8:
name = u'\xe4\xf6\xfc'.encode('utf-8')
userInfo = [('Name', name)]