是否可以强制Excel自动识别UTF-8 CSV文件?

是否可以强制Excel自动识别UTF-8 CSV文件?

我正在开发一个应用程序的一部分,它负责将一些数据导出到CSV文件中。该应用程序总是使用UTF-8,因为它的多语种性质在所有级别.但是在Excel中打开这样的CSV文件(例如包含对话框、西里尔字母、希腊字母)并没有达到预期的结果。Г„/Г¤, Г–/Г¶..我不知道如何强制Excel理解打开的CSV文件是用UTF-8编码的。我还尝试指定了utf-8 bom。EF BB BF但Excel忽略了这一点。

有什么解决办法吗?

哪些工具可能表现得像Excel一样?


更新

我要说的是,我把社会和这个问题的表述混为一谈。当我问这个问题时,我要求以一种流畅透明的方式在Excel中打开UTF-8 CSV文件,没有任何问题。然而,我用了一个错误的公式要求这样做。自动..这是非常令人困惑的,它与VBA宏自动化相冲突。对于这个问题,我最欣赏的有两个答案:亚历克斯的第一个答案。https://stackoverflow.com/a/6002338/166589,我接受了这个答案,而马克的第二个答案https://stackoverflow.com/a/6488070/166589后来才出现。从可用性的角度来看,Excel似乎缺乏对用户友好的utf-8 csv支持,因此我认为双管齐下答案是正确的,我首先接受了Alex的回答,因为它确实表明Excel不能透明地做到这一点。这就是我所困惑的自动这里。Mark的答案为更先进的用户提供了一种更复杂的方法来实现预期的结果。这两个答案都很好,但亚历克斯的答案更适合我没有明确说明的问题。



开满天机
浏览 1112回答 3
3回答

绝地无双

Alex是正确的,但由于您必须导出到CSV,您可以在打开CSV文件时向用户提供此建议:将导出的文件保存为CSV打开Excel使用数据导入数据->导入外部数据->导入数据选择“csv”的文件类型并浏览到您的文件。在导入向导中,将File_原产地更改为“65001 utf”(或选择正确的语言字符标识符)将分隔符更改为逗号选择导入到哪里并完成这样,特殊字符才能正确显示。

猛跑小猪

UTF-8字节顺序标记将提示Excel 2007+在使用UTF-8这一事实。(见这个帖子).如果有人有相同的问题,.NET的UTF 8编码类不会在GetBytes()打电话。你需要使用流(或使用)解决办法)使BOM输出。
打开App,查看更多内容
随时随地看视频慕课网APP