You need to enable JavaScript to run this app. 如何解决使用Black格式化Django代码时出现的UTF-8解码0xff报错
优惠活动
大模型
产品
解决方案
定价
更多

如何解决使用Black格式化Django代码时出现的UTF-8解码0xff报错

问题根源

从你提供的报错回溯可以直接定位问题:报错并非来自你要格式化的.py文件本身有问题,而是出在Black读取项目gitignore规则的环节,这也完全符合你将文件移出目录后运行正常的特征——移动文件后Black不再读取当前目录下编码异常的.gitignore文件。报错栈明确指向black/files.py中get_gitignore方法读取文件行时解码失败,你项目对应目录下的.gitignore文件编码损坏,大概率是多系统(Windows/WSL/Mac)跨设备编辑时,误存储为了带UTF-16 LE BOM的编码,开头的0xff就是UTF-16 LE BOM的首字节,而Black默认按UTF-8编码读取该文件,因此抛出解码错误。

解决步骤

  1. 首先显示隐藏文件:Mac系统下在项目根目录和pages目录按Command+Shift+.显示隐藏文件,找到对应目录下的.gitignore文件。
  2. 修复编码:
    • 若文件可以正常打开,全选复制内容,新建一个纯文本文件,粘贴内容后存为UTF-8编码命名为.gitignore覆盖原文件即可。
    • 若文件已经损坏无法打开,直接删除损坏的.gitignore,新建UTF-8编码的新.gitignore,填入你需要的忽略规则即可。
    • 也可以直接通过终端命令转码:
      iconv -f UTF-16LE -t UTF-8 .gitignore > .gitignore.new && mv .gitignore.new .gitignore
      
  3. 修复完成后重新执行black pages/views.py即可正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 11:06:04