предназначен взять словарь, например:
>>> q= u'\xe6\xf8\xe5' # u'æøå'
>>> params= {'q': q.encode('utf-8')}
>>> 'http://www.test.com/?'+urllib.urlencode(params)
'http://www.test.com/?q=%C3%A6%C3%B8%C3%A5'
Если вы просто хотите, чтобы URL-кодирования одной строки, функция, которую вы ищете, quote
:
>>> 'http://www.test.com/?q='+urllib.quote(q.encode('utf-8'))
'http://www.test.com/?q=%C3%A6%C3%B8%C3%A5'
Я Угаданием UTF-8 является правильная кодировка (это должно быть, для современных сайтов). Если вы действительно хотите ?q=%E6%F8%E5
, то нужная вам кодировка, вероятно, cp1252
(аналогично iso-8859-1
).