使用python 2.5.2和Linux的debian我试图得到一个包含西班牙字符( 'I')一个西班牙网址的内容:无法打开的Unicode URL与蟒蛇
import urllib url = u'http://mydomain.es/índice.html' content = urllib.urlopen(url).read()
我“M收到此错误:将网址传递之前
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe1' in position 8: ordinal not in range(128)
我已经尝试使用到的urllib这一点:
url = urllib.quote(url)
这:
url = url.encode('UTF-8')
,但它不工作
你能告诉我什么,我做错了什么?
我相信这已经被改变,并且在现在最少的域可以包含任意的Unicode字符。 – Cerin
@Cerin排序。 [IRI可以包含任意的Unicode字符](https://www.w3.org/International/articles/idn-and-iri),但是当你将它们转换为常规的URI时,它们使用'Punycode'被规范化为ASCII(for域组件)和百分比编码(用于路径组件)。 –