Estoy programando en Python y estoy obteniendo información de una página web a través de la biblioteca urllib2
. El problema es que esa página me puede proporcionar caracteres no ASCII, como 'ñ'
, 'á'
, etc. En el mismo momento urllib2
obtiene este personaje, que provoca una excepción, como este:Cómo manejar caracteres Unicode (no ASCII) en Python?
File "c:\Python25\lib\httplib.py", line 711, in send
self.sock.sendall(str)
File "<string>", line 1, in sendall:
UnicodeEncodeError: 'ascii' codec can't encode character u'\xf1' in position 74: ordinal not in range(128)
necesito para manejar esos personajes Quiero decir, no quiero manejar la excepción sino continuar el programa. ¿Hay alguna manera de, por ejemplo (no sé si esto es algo estúpido), usar otro codec en lugar del ASCII? Como tengo que trabajar con esos caracteres, insértelos en una base de datos, etc.
Sería útil si también pudieras decir si estás usando Python 3+ o algo más temprano. –
No podría ser Py3k dado que el módulo urllib2 se ha eliminado (incluido en urllib) ... –
Duplicado: http://stackoverflow.com/questions/1020892/python-urllib2-read-to-unicode –