Django文档在处理URL中的非ASCII数据的字符串时有一个[很好的部分]。特别是,对如何在下面的例子来变换Unicode字符串用在网址:在Django中处理IRI
>>> urlquote(u'Paris & Orléans')
u'Paris%20%26%20Orl%C3%A9ans'
>>> iri_to_uri(u'/favorites/François/%s' % urlquote(u'Paris & Orléans'))
'/favorites/Fran%C3%A7ois/Paris%20%26%20Orl%C3%A9ans'
然而,似乎是关于如何执行反向转换没有迹象!
假设我的应用程序收到URL /favorites/Fran%C3%A7ois/Paris%20%26%20Orl%C3%A9ans
,我该如何将它映射回/favorites/François/
和Paris & Orléans
?
没有django.utils.encoding.uri_to_iri
函数来补充django.utils.encoding.iri_to_uri
并且没有django.utils.http.urlunquote
来补充django.utils.http.urlquote()
!
注意:
如果这有助于在所有,我使用Django 1.2以上
- 的Python 2.5,Debian的Linux 32位
- 的Python 2.6,Windows 7的64位。
哇,这是奇怪! `urllib.quote()`不处理unicode数据,但'urllib.unquote`处理UTF-8就好!有用! – 2010-12-07 23:51:26