我正在开发一个应用程序的一部分,负责将一些数据导出到CSV文件中。该应用程序始终使用UTF-8编码,因为它在所有层面上都具有多语言特性。但是,在Excel中打开这些包含重音符、西里尔字母和希腊字母等内容的CSV文件时,并不能达到预期的结果,显示出类似于“Г„/Г¤, Г–/Г¶”这样的内容。我不知道如何强制Excel理解打开的CSV文件是以UTF-8编码的。我还尝试了指定UTF-8 BOM“EF BB BF”,但Excel忽略了它。
是否有任何解决方法?
附注:哪些工具可能会像Excel一样表现?
是否有任何解决方法?
附注:哪些工具可能会像Excel一样表现?
更新
我必须说,我在提问的方式上让社区感到困惑了。当我提出这个问题时,我是想要一种在Excel中以流畅和透明的方式打开UTF-8格式的CSV文件,对用户没有任何问题的方法。然而,我使用了错误的表述,要求自动完成这个操作。这非常令人困惑,并且与VBA宏自动化相冲突。对于这个问题,有两个答案我最为赞赏:Alex给出的第一个答案,我已经接受了这个答案;以及稍后出现的Mark的第二个答案。从可用性的角度来看,Excel似乎缺乏友好的UTF-8 CSV支持,所以我认为两个答案都是正确的,我之所以首先接受了Alex的答案,是因为他确实指出了Excel无法透明地完成这个任务。这就是我在这里与自动混淆的地方。Mark的答案提供了一种更复杂的方法,适用于更高级的用户来实现预期的结果。两个答案都很棒,但Alex的答案稍微更符合我没有明确说明的问题。
更新2
距离上次编辑已经过去了五个月,我注意到Alex的回答不知何故消失了。我真的希望这不是技术问题,并且希望现在不再有关于哪个答案更好的讨论。因此,我接受Mark的答案作为最佳答案。
\t
作为分隔符。适用于英文和非英文Excel设定。可以直接按Ctrl-S
进行保存,无需选择文件格式等操作。可以保留Unicode字符。 - Sebastian