utilizzando Python 2.5.2 e Linux Debian sto cercando di ottenere il contenuto da un URL spagnolo che contiene un carattere spagnolo ('i'):non può aprire url unicode con il pitone
import urllib url = u'http://mydomain.es/índice.html' content = urllib.urlopen(url).read()
I 'm questo errore:
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe1' in position 8: ordinal not in range(128)
ho provato con prima di passare l'url a urllib questo:
url = urllib.quote(url)
e questo:
url = url.encode('UTF-8')
ma non funziona
puoi dirmi che cosa sto facendo male?
Credo che questo da allora è stato cambiato, e al i domini minimi ora possono contenere caratteri Unicode arbitrari. – Cerin
@Cerin Sort of. [IRI possono contenere caratteri Unicode arbitrari] (https://www.w3.org/International/articles/idn-and-iri), ma quando li converti in URI regolari vengono normalizzati in ASCII usando 'Punycode' (per il componente del dominio) e la codifica percentuale (per il componente del percorso). –