usando Python 2.5.2 y Debian Linux que estoy tratando de obtener el contenido de un URL español que contiene un char español ('I'):no se puede abrir url Unicode con el pitón
import urllib url = u'http://mydomain.es/índice.html' content = urllib.urlopen(url).read()
I estoy poniendo este error:
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe1' in position 8: ordinal not in range(128)
he intentado usar antes de pasar la url para urllib esto:
url = urllib.quote(url)
y esto:
url = url.encode('UTF-8')
pero no funciona
puede decirme lo que estoy haciendo mal?
Creo que esto ya ha cambiado, y por lo los dominios menos pueden ahora contener caracteres Unicode arbitrarios. – Cerin
@Cerin tipo de. [Los IRI pueden contener caracteres Unicode arbitrarios] (https://www.w3.org/International/articles/idn-and-iri), pero cuando los convierte a URI normales, se normalizan en ASCII usando 'Punycode' (para el componente de dominio) y la codificación porcentual (para el componente de ruta). –