已关闭
[Documentation|文档反馈]: CHANGELOG.md 使用 UTF-8 with BOM 编码,违反文档编码规范 #17
廖氏如神创建于  9月20日关闭于  3 天前
廖氏如神
廖氏如神
9月20日 创建

问题描述

以下 Markdown 文件使用 UTF-8 with BOM 编码(文件开头带 EF BB BF 三个字节),不符合 CANN《文档写作规范》对文件编码的要求:

# 文件
1 CHANGELOG.md

该文件位于仓库根目录,是版本变更记录的入口文档。

规范依据

CANN 社区《文档写作规范》「文件编码格式要求」一节明确规定:

【规则】markdown文件需要使用UTF-8编码格式……不可使用UTF-8 with BOM的编码格式,此格式会在文件开头添加3个冗余字符:EF BB BF,可能会造成不同平台上的显示异常问题。

影响分析

  1. 首行渲染异常:BOM 会被拼接在首个字符之前,一级标题实际为 \uFEFF# …,部分渲染器与静态站点生成器不会吞掉该不可见字符,导致标题无法被正确识别;
  2. 工具链兼容性:按 ^# 匹配标题、按首行内容做处理的脚本会漏掉或错判这些文件;
  3. 与仓库内其他文档不一致:同仓其他 Markdown 文件均为无 BOM 的标准 UTF-8,仅个别文件带 BOM,属个别遗漏。

修复建议

移除文件开头的 3 字节 BOM(EF BB BF),其余内容字节零改动。修改后可用如下命令复核:

head -c 3 <file> | xxd   # 输出不应以 efbb bf 开头

问题复现方式

git clone --depth 1 https://gitcode.com/cann/asc-comm.git
cd asc-comm

head -c 3 CHANGELOG.md | xxd | head -1   # efbb bf 即 BOM

影响级别

L1:文件编码格式类问题,为规范中的明确禁止项;不影响内容正确性。

likedislike
Sshi_nanxiang成员
9月20日 将 zhengdun 设为负责人
shi_nanxiang成员
9月20日 评论:

感谢您发现的问题,已安排修改

likedislike
izanaami
izanaami成员
9月24日 评论:
likedislike
izanaamiizanaami成员
3 天前 issue状态由 进行中 改变为 已完成
izanaamiizanaami成员
3 天前 关闭了 issue
CANN-robotCANN-robot成员
3 天前 添加了label:resolved