在编辑编码为 UTF-8 w/o [spurious] BOM 的文件的过程中,内容可能会缺少 ASCII 或 ANSI 范围之外的任何 Unicode 字符。下次重新打开文件时,某些文本编辑器 (Notepad++) 会将其解释为 ASCII/ANSI 编码并按原样打开。不知道用户将继续编辑的更改,现在添加非 ANSI Unicode 字符,因为保存在 ANSI 中,因此呈现无用。可以存在一个菜单选项 (Notepad++) 以将 ANSI 文件打开为 UTF-8 w/o BOM,但会导致无意中用 Unicode 编码覆盖 ANSI 文件的相反问题。
最佳答案
一种解决方法是将 ANSI 范围之外的字符添加到文件中的注释中。根据解码算法,它可能会强制编辑器 (Notepad++) 将文件识别为以 UTF-8 编码的无 BOM。
例如,在 HTML 文档中,您可以使用这样的 Unicode 注释来遵循标题中的字符集定义,这里是 U+05D0 HEBREW LETTER ALEF:
关于utf-8 - 如何避免无意中将 UTF-8 文件编码为 ASCII/ANSI?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1924521/