【问题标题】:How to use cyrillic in python IMAP search?如何在 python IMAP 搜索中使用西里尔字母?
【发布时间】:2013-06-27 05:10:54
【问题描述】:

如何在 imapObj.search() 中使用西里尔符号? 我正在执行以下 IMAP 搜索:

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

它不起作用。

【问题讨论】:

  • 尝试在“(SUBJECT '%s')”前面添加u
  • 这个方法我试过了,不行(
  • 你得到的错误是什么?
  • like this "'ascii' codec can't encode character"
  • 尝试u"(SUBJECT {0})".format(u"кириллица")(顺便说一句,使用% 进行字符串格式化被认为有点不鼓励)

标签: python imap gmail-imap imaplib cyrillic


【解决方案1】:

您需要在主题周围使用双引号,而不是单引号:

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 范围之外的字符,将其从 unicode 编码为指定的字符集,就像您所做的那样是正确的。

【讨论】:

  • imaplib.error: SEARCH command error: BAD ['Could not parse command']
猜你喜欢
  • 2012-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多