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

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

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

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

ENTITY_ID;FIELD2;FIELD3,FIELD4;(等等)
值1;值2;值3;值4;(等等)。

观察结果:

  • 如您所见,有 3 个字符是干扰字符,导致服务器拒绝 CSV 导入,因为第一列未命名为“ENTITY_ID”。这些字符始终相同。

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

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

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

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

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

答案1

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

相关内容