打开 .csv 文件然后保存时 Libreoffice 插入奇怪的字符(在 Linux 上)

打开 .csv 文件然后保存时 Libreoffice 插入奇怪的字符(在 Linux 上)

这是我所做的:

  1. 触摸文件.csv
  2. 在 Libreoffice 中打开此文件。
  3. 从网上粘贴了表格文本。
  4. 以文本 csv 格式将其保存在 Libreoffice 中。
  5. 当我执行上述操作时,Libreoffice 会在文件开头插入 2 个奇怪的字符。

在谷歌搜索时我发现这些是 \0。

它们看起来是这样的:

cat file1.csv 

��

我的问题是:如何防止 Libreoffice 插入这些字符?

注1:对于这个特定示例,我跳过了步骤3。

注 2:我这样做是为了从互联网上的表格数据创建 CSV 文件。我不希望在我的 CSV 中插入奇怪的字符。

答案1

在谷歌搜索时我发现这些是 \0。

这是一种错误的结论,因为谷歌无法知道这些字符实际上是什么,因为特殊字符在谷歌搜索中被标准化了。因此,结论可能是错误的。仅仅因为您的终端和/或文本编辑器无法显示字符并将其替换为其他字符并不意味着它是 0 字节。

好的,这只是猜测,因为你没有提供实际的文件,只是一个图片您的终端如何(错误)显示它。

但。

这两个角色可能是Unicode 16 位字节顺序标记 (BOM)字符,由于您指定了 unicode 文本编码,libreoffice 可能正确插入了这些字符。

这里的正确问题是为什么你的终端不能处理 unicode。获取更好的终端仿真器!

我如何防止 Libreoffice 插入这些字符?

两个选项:

  • 完全不是;它们不会损害任何非 90 年代的软件,但会明确 CSV 的文本编码。Libreoffice 会自动将它们插入 Unicode,这是一件好事,也是恰当的做法。
  • 如果你想承受需要的痛苦明确地必须对处理该 CSV 的所有应用程序使用相同的编码,使用非 Unicode 文本编码(当您保存为 CSV 时,LibreOffice Calc“导出文本文件”对话框错误地调用了“字符集”;它不是指定的字符集,而是这些字符被编码为位和字节的方式)。

我非常推荐选择选项 1。

相关内容