Подтвердить что ты не робот

UnicodeEncodeError: кодек 'charmap' не может кодировать символ '\ u2010': символьные карты на <undefined>

Я продолжаю получать UnicodeEncodeError при попытке распечатать 'Á', который я получаю с веб-сайта, запрошенного с использованием selenium в python 3.4.

Я уже определил в верхней части моего .py файла

# -*- coding: utf-8 -*-

def это что-то вроде этого:

from selenium import webdriver

b = webdriver.Firefox()
b.get('http://fisica.uniandes.edu.co/personal/profesores-de-planta')
dataProf = b.find_elements_by_css_selector('td[width="508"]')
for dato in dataProf:
        print(datos.text)

и исключение:

Traceback (most recent call last):
  File "C:/Users/Andres/Desktop/scrap/scrap.py", line 444, in <module>
    dar_p_fisica()
  File "C:/Users/Andres/Desktop/scrap/scrap.py", line 390, in dar_p_fisica
    print(datos.text) #.encode().decode('ascii', 'ignore')
  File "C:\Python34\lib\encodings\cp1252.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u2010' in position 173: character maps to <undefined>

заблаговременно

4b9b3361

Ответ 1

Уже понял. Как отмечается в ответе this, ошибка кодирования не исходит из python, а из кодировки, используемой консолью. Таким образом, чтобы исправить это, выполните команду (в окнах):

chcp 65001

который устанавливает кодировку в UTF-8, а затем снова запускает программу. Или, работая над pycharm, как я, перейдите в "Настройки" > "Редактор" > "Кодировки файлов" и установите привязки IDE и Project.