imap模块怎样搜索中文?

imap模块怎样搜索中文?

用imap模块连接Gmail遇到个问题
比如有个邮件标题是'Linux 我喜欢'
在搜索邮件标题的时候英文可以但中文不行
代码如下
可以直接运行

[Copy to clipboard] [ - ]
CODE:
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import imaplib,sys,email

test_box1 = ['zmxkauqd', 'Kjkdk289ddj']            #测试邮箱,真实可用的

#Gmail code
def G_logout(imap):
        try:
                imap.close()
        except:
                pass
        try:
                imap.logout()
        except:
                pass

def G_try_login(uname, passwd):
        imap = None
        try:
                imap = imaplib.IMAP4_SSL('imap.gmail.com', 993)
        except:
                G_logout(imap)
                return (None, 'Connect ERROR')
        try:
                imap.login(uname, passwd)
        except:
                G_logout(imap)
                return (None, 'Login ERROR')
        return (imap, 'OK')

def G_select(imap, box):
        try:
                imap.select(box)
                return True
        except:
                pass
        return False

def G_search(imap, cmd):
        try:
                typ, dat = imap.search(None, cmd)
                return typ, dat
        except:
                pass
        return (None, None)
#Gmail code.

################
####Start Here##
################

#1 login
gmail_fd = G_try_login(test_box1[0], test_box1[1])
imap = gmail_fd[0]
if imap != None:
        print 'OK'
else:
        print gmail_fd[1]
        sys.exit(1)

#2 select
if G_select(imap, 'Inbox') == False:
        print 'select Error'
        G_logout(imap)
        sys.exit(1)

#3 search
#typ, search_dat = G_search(imap, '(SUBJECT "Linux")')          #这个OK
typ, search_dat = G_search(imap, '(SUBJECT "我喜欢")')            #这个不行
print 'typ',typ
print 'search_dat',search_dat
if typ != 'OK':
        print 'ERROR in search'
        G_logout(imap)
        sys.exit(1)

G_logout(imap)

果然不行,但是不知道为什么。
是啊
即使把编码改了也不行

[Copy to clipboard] [ - ]
CODE:
imap.search('UTF-8', cmd)
imap.search('GB2312', cmd)

全不行