Задать вопрос
Dolbanowsky
@Dolbanowsky
Поэт-программист

Почему Python + imap выдаёт ошибку «'ascii' codec can't encode characters» при поиске по теме письма на русском языке?

Код с русским текстом вы даёт ошибку : UnicodeEncodeError: 'ascii' codec can't encode characters in position 41-44: ordinal not in range(128)

ttsender = 'тест вложения'
result, data = mail.uid('search', None, '(FROM "%s" HEADER Subject "%s" UNSEEN)' % (sender, ttsender))


Аналогичный код только с английским текстом темы письма работает нормально и всё ищет как надо.

Гуглил целый день, encode() decode() вообще не помогают
Товарищи шо це такое ???
  • Вопрос задан
  • 497 просмотров
Подписаться 1 Средний 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Потому что по стандарту заголовки письма (From, To, Subject, ...) могут содержать только печатные символы из ASCII-128, то есть с кодами от 0x20 до 0x7F.
Ответ написан
dimonchik2013
@dimonchik2013
non progredi est regredi
в программировании нет языков

есть кодировки
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
от 200 000 до 300 000 ₽
Greenway Global Новосибирск
от 150 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
27 янв. 2025, в 01:27
3000 руб./за проект
27 янв. 2025, в 00:44
1000 руб./за проект