UnicodeEncodeError:“charmap”编码解码器无法编码字符“\u2010”:字符映射到<undefined>

2024-03-28 19:40:00 发布

您现在位置:Python中文网/ 问答频道 /正文

当我试图打印从python 3.4中使用selenium请求的网站获得的“Á”时,我不断地得到unicodeenor。

我已经在.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>

提前谢谢


Tags: textinpyseleniumlineusersencodefile
1条回答
网友
1楼 · 发布于 2024-03-28 19:40:00

已经知道了。如this应答中所述,编码错误不是来自python,而是来自控制台正在使用的编码。所以修复它的方法是运行命令(在windows中):

chcp 65001

将编码设置为UTF-8,然后再次运行程序。或者,如果像我一样使用pycharm,请转到“设置”>;“编辑器”>;“文件编码”,并按要求设置IDE和项目编码。

相关问题 更多 >