转换为 UTF-8 后出现 3 个特殊字符的原因是什么?

Tor*_*uun 7 notepad++ ultraedit conversion utf-8

我们的工作步骤之一是将 MS Excel 工作表保存为 CSV,然后在将其导入服务器系统之前使用 UltraEdit 将 CSV 转换为 UTF-8。

问题是,在转换为 UTF-8 后,文件总是在文件开头包含 3 个无意义的字符:

ENTITY_ID;FIELD2;FIELD3,FIELD4;(etc.)
value1;value2;value3;value4;(etc)。

观察:

  • 如您所见,有 3 个字符是噪音,导致服务器拒绝 CSV 导入,因为第一列未命名为“ENTITY_ID”。字符总是相同的。

  • 转换后这些字符不会显示,但是当我们再次在 UltraEdit 中关闭并重新打开文件时,我们确实看到了这些字符。

  • 这些字符仅在 UltraEdit 中可见。Windows Notepad 或 Notepad++ 不显示它们。

  • 使用 Notepad++ 将 CSV 转换为 UTF-8 会产生完全相同的输出:文件开头具有相同的 3 个奇数字符。唯一的区别是 Notepad++ 不显示这些字符,即使在关闭并重新打开文件后也是如此。

解决方法:
我们在 UltraEdit 中重新打开文件,删除噪音,然后服务器接受 CSV 导入。
这一步需要通过修复实际问题来消除。

问题:我们如何避免这三个字符?

Ign*_*ams 8

那是字节顺序标记,编码为 UTF-8。告诉您的编辑器不要在开始时添加它,或者在您的服务器系统中使用真正的解码器。