URL编码:Django的iri_to_uri和w3school列表之间的区别

时间:2014-04-06 19:33:15

标签: python encoding character-encoding

考虑我尝试以网址格式添加的Declaração字样。

当我从Django使用iri_to_uri时会发生什么:

print iri_to_uri(u"Declaração")  # Declara%C3%A7%C3%A3o

我使用list in w3school时获得的内容:

Declara%E7%E3o
  1. 为什么他们不一样?
  2. 我试图使用Django / Python获取后者。有什么方法可以轻松完成吗? (第三方正在使用它,没有办法......)

1 个答案:

答案 0 :(得分:3)

我不知道http://www.w3schools.com/tags/ref_urlencode.asp正在做什么,但它的输出无法在Python中正确取消。

import urlparse

print urlparse.unquote('Declara%E7%E3o')
# Declara��o
print urlparse.unquote('Declara%C3%A7%C3%A3o')
# Declaração

但这不是第一次,当www.w3schools.com糟透了,这是学习任何东西的好地方 - 错误和不准确的陈述。

我建议改为http://w3.orghttp://developer.mozilla.org/en-US