小编ric*_*ckp的帖子

在 Excel 中以 CSV 类型保存文件总是会删除 BOM

我一直在尝试寻找合理的解决方案/解释(未成功)以找出 Excel 在将文件保存为 CSV 类型时默认删除 BOM 的原因。

如果您发现这是这个问题的重复,请原谅我。这处理读取非 ASCII 编码的 CSV 文件,但它不包括将文件保存回来(这是最大的问题所在)。

这是我目前的情况(我要收集的情况在处理 Unicode 字符和 CSV 格式的本地化软件中很常见):

  • 我们使用 UTF-16LE 将数据导出为 CSV 格式,确保设置了 BOM (0xFFFE)。我们在使用十六进制编辑器生成文件后进行验证,以确保其设置正确。

  • 在 Excel 中打开文件(在此示例中,我们将导出日语字符)并见证 Excel 以正确的编码处理加载文件。

  • 尝试保存此文件将提示您一条警告消息,表明该文件可能包含可能与 Unicode 编码不兼容的功能,但会询问您是否仍要保存。

  • 如果您选择另存为对话框,它会立即要求您将文件另存为“Unicode 文本”而不​​是 CSV。如果您选择“CSV”扩展名并保存文件,它将删除 BOM(显然连同所有日语字符)。

为什么会发生这种情况?是否有解决此问题的方法,或者这是 Excel 的已知“错误”/限制?

此外(作为一个附带问题)似乎 Excel 在加载 UTF-16LE 编码的 CSV 文件时仅使用 TAB 分隔符。同样,这是 Excel 的另一个已知“错误”/限制吗?

csv unicode localization microsoft-excel

15
推荐指数
1
解决办法
4万
查看次数

标签 统计

csv ×1

localization ×1

microsoft-excel ×1

unicode ×1