Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 11, 2012 13:29:08

mironich
От:
Зарегистрирован: 2011-05-23
Сообщения: 118
Репутация: +  2  -
Профиль   Отправить e-mail  

[Решено] Ошибки при urlencode

Вот в интерактивном режиме выполняю код:

quote_plus(u'Продажа техно'.encode('utf-8'))
Все ок возвращаеться строка в urlencode формате.
Передаю эту же строку в аргумент ф-ции, в которой есть такой код:
'&'.join(['%s=%s' % (quote_plus(n), quote_plus(v)) for n, v in data])
data список вида:
вылетает исключение:
KeyError: u'\u0414'[
Traceback (most recent call last):
  File "/home/**/Desktop/python/**/**r.py", line 97, in <module>
    u'Василий'.encode('utf-8'))
  File "/home/**/Desktop/python/**/**.py", line 78, in send_post
    self._http_cl.post(post_url, post_data, post_url)
  File "/home/**/Desktop/python/**/http.py", line 244, in post
    self.__postData = '&'.join(['%s=%s' % (quote_plus(n), quote_plus(v)) for n, v in data])
  File "/usr/lib/python2.7/urllib.py", line 1257, in quote_plus
    return quote(s, safe)
  File "/usr/lib/python2.7/urllib.py", line 1250, in quote
    return ''.join(map(quoter, s))
KeyError: u'\u0414'
Как так?
Решение: в другом модуле текст из юникода в utf-8 забыл перевести.



Отредактировано mironich (Окт. 11, 2012 13:38:38)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version