utf8 unicodeencodeerror open python xml file encoding beautifulsoup

unicodeencodeerror - python open encoding



El códec ''ascii'' no puede decodificar el byte 0xcb mientras hace bs (1)

Esta pregunta ya tiene una respuesta aquí:

Guardo la página xml localmente desde una API de Merriam-Webster, déjame darte la url: http://www.dictionaryapi.com/api/v1/references/collegiate/xml/apple?key=bf534d02-bf4e-49bc -b43f-37f68a0bf4fd

Ese fue un ejemplo. Lo recuperaré de la url y lo guardaré como un archivo xml.

Ahora quiero abrirlo pero ocurre UnicodeDecodeError .

Yo si :

page = open(''test.xml'') bs = BeautifulSoup(page)

Entonces ocurre el siguiente error:

UnicodeDecodeError: ''ascii'' codec can''t decode byte 0xcb

Intenté hacer el url u''test.xml'' no funcionó.

sys.getdefaultencoding () ''utf-8''

La configuración de codificación ya es utf-8, lo que no resuelve el problema, gracias por el consejo de todos modos.


Necesita especificar la codificación como utf-8, que es como se codifican los datos, el nombre del archivo no tiene nada que ver con lo que está dentro, por lo que prefijar con u para hacer una cadena Unicode no va a ayudar:

import io with io.open(''test.xml'', encoding="utf-8") as page: bs = BeautifulSoup(page)