0

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

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

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

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

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

有什么线索吗?

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

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

请建议。

编辑 -

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

另外,为什么只是 Control+s 使它在 Excel 中正确打开。

4

1 回答 1

0

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

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

ASCII 值为 =

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

只需将其添加为第一行即可!

于 2015-08-13T08:21:49.470 回答