\u2264
这是错误的根本原因(小于或等于)。详细错误日志:
Traceback (most recent call last):
File "C:\Dev\EXE\TEMP\cookie\crumbs\views.py", line 1520, in parser
html_file.write(html_text)
File "C:\Users\Cookie1\AppData\Local\Programs\Python\Python36-32\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 '\u2264' in position 389078: character maps to <undefined>
答案 0 :(得分:4)
错误消息表明您正在尝试编码为Windows-1252字符编码。该编码没有小于或等于符号的表示。
>>> "\u2264".encode("cp1252")
>>> Traceback... [as above]
答案是使用UTF-8,一种不受限制的编码,而不是Windows-1252,这是一种非常有限的编码。
您的问题不包含太多上下文,但行html_file.write(html_text)
让我觉得您正在使用Python的文件协议。 documentation for open()
显示了如何设置编码,例如
html_file = open("file.html", mode="w", encoding="utf8")
请注意“默认编码取决于平台(无论locale.getpreferredencoding()
返回什么)”,这就是您在Windows 7上获取Windows-1252的原因。