[已搞定]怎样处理urlencode后的汉字才查询出结果?(django开发)

[已搞定]怎样处理urlencode后的汉字才查询出结果?(django开发)

我现在使用Django(magic-removal)开发程序.
数据库是mysql4.1,全部采用utf-8编码(包括client,mysqld,connection)。
      
      过程如下:
      1 浏览器中输入地址 http://localhost/keyword/我

      2 浏览器自行urlencode变成http://localhost/keyword/%CE%D2

      3 Django的myapp/urls.py中 (r'^keyword/(?P<keyword>\S+)/$', 'myapp.keyword.views.get') 用来把访问地址为http://localhost/keyword/%CE%D2中的"%CE%D2"传入myapp.keyword.views.get函数中.

      4 myapp.keword.views.get(request,keyword)函数用来查询数据库中的数据,现在对于英文和数字的keyword都能正确的返回结果,但是面对urlencode后的中文,无法得到查询结果

QUOTE:
myapp.keword.views.get函数原型如下:
def get(request,keyword):
    if keyword:
        from urllib import unquote_plus
        print unquote_plus(keyword)#用来打印keyword,显示正常
        t = Keyword.objects.get(keyword__exact=keyword)#这里的keyword__exact="%CE%D2",不能查询出结果,若使用keyword__exact=unquote_plus(keyword),也得不到查询结果
        return object_list(request, t.adword.all(), paginate_by=1)

现在的问题是到底要如何处理urlencode后的汉字才能查询出结果?

在线等!  谁能帮帮我?
只是猜测,如果着急的话,可以试一试。
两个解决方案:
1,如果你是 IE 用户的话,
依次点击:“工具”->“Internet 选项”->“高级”->“总是以 UTF-8 发送 URL(需要重启动)”(最后一项),然后点击“确定”,
再试。
如果你是 FireFox 用户的话,
依次点击:“Tools”->“Options”->Content->“Fonts & Colors”->“Advanced”->“Default Character Encoding” 选择 UTF-8,然后点击 OK 再试。
2,在服务器端,也就是你的 Python 程序中,做完 uri escape 的解码之后,再进行 GBK 到 UTF-8 的转码,然后将转码后结果进行 mysql 查询。
谢谢。
浏览器也都已经是utf-8编码的了啊


====update====
已经搞定,原来不能直接在浏览器地址栏中敲汉字,而是必须从utf-8编码的网页中链接过去。
比如: http://localhost/keyword/我    这样的链接,
直接在浏览器中敲,则会变成各种各样的地址(不同的浏览器有不同的做法,IE6会变成http://localhost/keyword/鎴,Firefox1.5会变成http://localhost/keyword/%CE%D2)

而通过utf-8编码的网页中链接过去,地址将变成http://localhost/keyword/%E6%88%91,这样才是正确的做法。


谢谢各位!!!