2013-06-29 3 views
0

Как использовать кириллические символы в imapObj.search()? я делаю следующий запрос IMAP:Как использовать кириллицу в поиске IMAP в python?

imapObj.search("utf-8", "(SUBJECT '%s')" % u"кириллица".encode("utf-8")) 

И это не работает.

+0

Попробуйте добавить 'u' перед" (SUBJECT '% s') ". – J0HN

+0

Я пробовал этот способ, и он не работает ( – Sergey

+0

И какая ошибка вы получаете? – J0HN

ответ

0

Вы должны использовать двойные кавычки вокруг предмета, а не одиночные кавычки:

imapObj.search("utf-8", '(SUBJECT "%s")' % u"кириллица".encode("utf-8")) 
# or this also does the same: 
imapObj.search("utf-8", 'SUBJECT', u"кириллица".encode("utf-8")) 

остальное должно быть в порядке - если ваш критерий содержит символы за пределами кодировки диапазона ASCII его из юникода в указанную кодировку, как вы сделать правильно.

+0

imaplib.error: ошибка команды SEARCH: BAD ['Не удалось выполнить команду синтаксического анализа] – Sergey