簡體   English   中英

UnicodeEncodeError:'charmap'編解碼器無法編碼字符'\\ u2264'

[英]UnicodeEncodeError: 'charmap' codec can't encode character '\u2264'

  • 我在Windows7和Django 1.9中使用python3.6
  • 運行代碼時出現此錯誤。
  • 在我的代碼中,我正在解析xml數據以編寫一個html頁面。
  • 我知道某個字符無法正確編碼,這就是為什么它拋出錯誤。
  • \≤這是字符(小於或等於),它是錯誤的根本原因。
  • 我的問題是如何在python3中正確編碼

詳細錯誤日志:

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>

錯誤消息表明您正在嘗試編碼為Windows-1252字符編碼。 該編碼沒有小於或等於符號的表示形式。

>>> "\u2264".encode("cp1252")
>>> Traceback... [as above]

答案是使用不受限制的編碼UTF-8,而不是受嚴格限制的Windows-1252。

您的問題不包含太多上下文,但是html_file.write(html_text)我認為您正在使用Python的文件協議。 open()文檔顯示了如何設置編碼,例如

html_file = open("file.html", mode="w", encoding="utf8")

請注意,“默認編碼取決於平台(無論locale.getpreferredencoding()返回什么)”,這就是為什么在Windows 7上使用Windows-1252的原因。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM