在 LibreOffice 中,如果我将文档保存为文件类型“编码文本”并选择“Unicode (UTF-8)”作为编码,它总是在文本开头写入字节顺序标记 (BOM)。即使导出的文本开头没有这样的标记(例如导入的 ISO-8859-8 文本),它也会这样做。有没有办法抑制 BOM 的生成?
根据Unicode 文档:”在 8 位环境中透明使用 UTF-8 的情况下,使用 BOM 会干扰任何需要以特定 ASCII 字符开头的协议或文件格式“。这正是我遇到的问题,因为文本将被输入到不需要初始 BOM 的程序中。
答案1
有待处理的 2018 年补丁附加到相关 2011 年错误报告
Martin van Zijl 2018-02-26 18:48:14 UTC
我创建了一个补丁以供审查。使用此补丁,如果您执行以下操作:
1) 文件 --> 另存为...
2) 选择类型 = “文本(选择编码)”
3) 单击“使用文本 - ...”
4) 在最后的对话框中将出现一个复选框“包含字节顺序标记”。如果取消选中,则输出中将不包含 BOM。附有视频演示。
答案2
旧线程,但问题似乎仍然存在。
对我来说,Save As -> Text CSV
选中Edit Filter Settings
复选框然后点击Save
会弹出一个对话框Export Text File
,取消选中则会生成一个指示为 UTF-8 编码的Save cell content as shown
文件。isutf8
答案3
使用另存为保存文件时,在所有格式下选择文本编码,然后保存。当出现确认文件格式对话框时,选择使用文本编码格式。然后出现 ASCII 过滤器选项对话框。选择西欧 (ASCII/US) 并单击确定。然后,如果您使用十六进制编辑器(如 Bless)检查生成的文件,您将看到 BOM 已消失。