UTF-8文件未在Excel中显示中文字符

时间:2015-08-12 21:02:02

标签: csv encoding utf-8 gb2312

我正在使用UTF-8编码创建一个CSV文件。

如果我使用Notepad ++打开它,它会正确显示中文字符。

如果我使用记事本打开它,它会正确显示中文字符。

但是,如果我使用Excel打开它,我会看到垃圾值。

如果我使用记事本打开它并按下Control + S并关闭文件并在Excel中重新打开,它会完美地显示字符。

有什么线索在这里?

我还尝试创建一个包含GB2312编码的普通CSV文件。然后我使用Unix命令iconv将文件从“GB2312”转换为“UTF-8”

此命令删除所有中文字符,仅显示英文字符。所以,这不是一个解决方案。

请建议。

编辑 -

它不显示垃圾值,但显示ANSI编码。为什么默认选择ANSI编码。为什么在Notepad / Notepad ++中打开相同的文件后,它会打开UTF-8。

另外,为什么只有Control + s才能正确地在Excel中打开它。

1 个答案:

答案 0 :(得分:0)

我知道使用UTF-8编码的BOM序列,但不知道如何将其添加到我的文件中。

现在,BOM序列是0xEF,0xBB,0xBF,所以我尝试将其添加为纯文本,但它没有用。所以,我将这些的ASCII值添加到我的CSV中,它可以工作。

ASCII值为=

new.text = chr $(239)& chr $(187)& chr $(191)|连锁

只需将其添加为第1行即可使用!