最佳答案
我正在开发一个应用程序的一部分,负责将一些数据导出到CSV文件。应用程序总是使用UTF-8,因为它在所有级别上都具有多语言特性。但是在Excel中打开这样的CSV文件(包含例如变音符,西里尔字母,希腊字母)并没有达到显示类似Г„/Г¤, Г–/Г¶
的预期结果。我不知道如何强制Excel理解打开的CSV文件是UTF-8编码的。我还尝试指定UTF-8 BOM EF BB BF
,但Excel忽略了这一点。
有什么解决办法吗?
附注:哪些工具可能像Excel一样?
更新
我不得不说,我把这个问题的提法搞糊涂了。当我问这个问题时,我要求一种方法,在Excel中打开UTF-8 CSV文件,没有任何问题,以流畅和透明的方式为用户。然而,我用了一个错误的公式要求这样做自动。这是非常令人困惑的,它与VBA宏自动化冲突。对于这个问题,我有两个最欣赏的答案:Alex https://stackoverflow.com/a/6002338/166589的第一个答案,我已经接受了这个答案;第二幅是稍后出现的马克·EYZ2的作品。从可用性的角度来看,Excel似乎缺乏良好的用户友好的UTF-8 CSV支持,所以我认为这两个的答案是正确的,我先接受了Alex的答案,因为它确实说明了Excel不能透明地做到这一点。这就是我和自动混淆的地方。Mark的回答为更高级的用户提供了一种更复杂的方式来实现预期的结果。两个答案都很好,但Alex的回答更适合我没有明确说明的问题。
更新2
在最后一次编辑5个月后,我注意到Alex的答案不知为何消失了。我真的希望这不是一个技术问题,我希望现在不再有关于哪个答案更好的讨论。所以我认为马克的答案是最好的。