什么是Java相当于Windows Notepad“Unicode编码”?

时间:2012-11-28 10:02:13

标签: java excel unicode encoding notepad

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

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

enter image description here

那么有人能告诉我Java中的Notepad“Unicode”是什么吗?

我的代码是:

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

reportHTML具有制表符分隔值。

This是编码为Unicode的文本文件。

3 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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