【发布时间】:2015-09-18 23:02:12
【问题描述】:
使用 Python 2.7,我从网站上抓取一些 HTML 作为字符串并立即将其解码为 unicode。因为我以后需要知道任何解码错误发生在哪里,我认为最好使用errors="replace"来防止非ASCII字符的异常:
linkname = curlinkname.decode("utf-8", errors="replace")
在大多数情况下,这会将问题字符替换为占位符。但是,当我运行代码时,我仍然在这一行的一个特定字符 (ū) 上收到异常:
UnicodeEncodeError: 'charmap' codec can't encode character u'\u016b' in position 1: character maps to <undefined>
发生了什么事?
【问题讨论】:
-
可能编码不是utf-8,先检查一下可以用这个lib进行编码检测github.com/chardet/chardet
-
你能分享完整的回溯吗?
-
你是在读取文本文件吗?
标签: python python-2.7 unicode utf-8 python-unicode