Django文档中有一节很好地介绍了如何使用URL中的非ASCII数据来处理字符串。特别是,它提供了关于如何转换Unicode字符串以便在URL中使用的示例:
>>> 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()!
Note
如果这有帮助的话,我将使用Django 1.2
发布于 2010-12-07 23:48:35
在这种情况下,标准urllib.unquote()应该工作得很好:
>>> urllib.unquote('/favorites/Fran%C3%A7ois/Paris%20%26%20Orl%C3%A9ans')
'/favorites/Fran\xc3\xa7ois/Paris & Orl\xc3\xa9ans'发布于 2010-12-07 23:49:30
这是因为urllib.unquote这样做是为了你:
>>> import urllib
>>> print urllib.unquote('/favorites/Fran%C3%A7ois/Paris%20%26%20Orl%C3%A9ans')
/favorites/François/Paris & Orléanshttps://stackoverflow.com/questions/4382875
复制相似问题