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