0

我有制表符分隔的值,我需要使用 Java 将其导出为文本文件,以便在 Microsoft Excel 中打开。当制表符分隔的值包含中文字符时,就会出现问题。

我尝试使用 UTF-8 导出文本文件,但 Excel 无法解释字符。然后我在记事本中打开导出的文本文件并将其保存为“Unicode”,它开始在 Excel 中显示正确的章程。

在此处输入图像描述

那么有人可以告诉我Java中的记事本“Unicode”等价物是什么吗?

我的代码是:

response.getOutputStream().write(reportHTML.getBytes("UTF-8"));

reportHTML 具有制表符分隔值的位置。

是编码为 Unicode 的文本文件。

4

3 回答 3

1

这意味着"UTF-16LE",并且每个 java 平台实现都需要支持它。

response.getOutputStream().write(reportHTML.getBytes("UTF-16LE"));

FF FE记事本 unicode 编码还会在文件开头插入 UTF-16LE BOM 。

于 2012-11-28T10:59:36.843 回答
0

尝试将 BOM 添加到文件的第一个字节。http://en.wikipedia.org/wiki/Byte_order_mark

于 2012-11-28T10:09:50.847 回答
0

在 Windows 环境中,当编码称为“Unicode”时,它通常指的是UCS-2 或 UTF-16

于 2012-11-28T10:10:09.240 回答