You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python写入ASCII艺术阴影字符█时出现UnicodeEncodeError如何解决

问题根因

该编码报错由Windows平台Python的默认文件编码机制导致:Windows简体/英文系统下Python 3.8及更早版本打开文本文件时,默认使用系统本地化编码cp1252,该编码字符集不包含█这类特殊块字符,写入时就会触发编码错误。记事本能正常显示是因为它会自动识别文件编码,不会限制为cp1252。

可行解决方案
  • 最推荐方案:打开文件时显式指定UTF-8编码,兼容全字符集且记事本可正常识别
    把原有打开文件的代码从:
    report = open("你的目标文件名.txt", "w")
    
    修改为:
    report = open("你的目标文件名.txt", "w", encoding="utf-8")
    
    如果希望Windows记事本打开不会出现乱码,可以改用带BOM的UTF-8编码:
    report = open("你的目标文件名.txt", "w", encoding="utf-8-sig")
    
  • 临时兼容方案:如果必须使用系统默认编码,可添加错误处理参数避免程序崩溃,弊端是不支持的字符会被替换为问号或直接丢弃:
    # 无法编码的字符替换为?
    report = open("你的目标文件名.txt", "w", errors="replace")
    # 无法编码的字符直接忽略
    report = open("你的目标文件名.txt", "w", errors="ignore")
    

内容的提问来源于stack exchange,提问作者ThatLukeGuy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 07:36:01