UnicodeEncodeError:“charmap”编解码器无法编码字符“\u2010”:字符映射到 <undefined> [重复]
Posted
技术标签:
【中文标题】UnicodeEncodeError:“charmap”编解码器无法编码字符“\\u2010”:字符映射到 <undefined> [重复]【英文标题】:UnicodeEncodeError: 'charmap' codec can't encode character '\u2010': character maps to <undefined> [duplicate]UnicodeEncodeError:“charmap”编解码器无法编码字符“\u2010”:字符映射到 <undefined> [重复] 【发布时间】:2015-11-29 16:55:06 【问题描述】:在尝试打印从使用 python 3.4 中的 selenium 请求的网站获得的“Á”时,我不断收到 UnicodeEncodeError。
我已经在 .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[]')
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>
提前致谢
【问题讨论】:
您知道针对相同编码问题但写入文件的解决方案吗? 【参考方案1】:已经想通了。正如this 答案中所述,编码错误不是来自python,而是来自控制台正在使用的编码。所以修复它的方法是运行命令(在windows中):
chcp 65001
将编码设置为 UTF-8,然后再次运行程序。或者,如果像我一样使用 pycharm,请转到 Settings>Editor>File Encodings 并相应地设置 IDE 和 Project 编码。
【讨论】:
一百万个赞。这是控制台而不是 python。 即使我更改了 pyCharm 编码,它仍然给我同样的错误(我用 windows 控制台解决了它,但我不能再在 pycharm 中工作了) 总是发现这个错误。很棒的解决方案。百万票赞成!!! 另外,在命令提示符中运行:setx PYTHONIOENCODING utf-8 ... 然后,重新启动命令提示符,您可以键入 echo %PYTHONIOENCODING% 以确保已设置。在 Python 中,如果需要,请导入 sys,然后打印 sys.stdout.encoding,它应该是 utf-8。 'utf-8' 不被识别为内部或外部命令,如何处理这个@Andrew以上是关于UnicodeEncodeError:“charmap”编解码器无法编码字符“\u2010”:字符映射到 <undefined> [重复]的主要内容,如果未能解决你的问题,请参考以下文章