我有以制表符分隔的值,需要使用Java将其导出为文本文件,以便在Microsoft Excel中打开。当制表符分隔的值包含中文字符时,就会出现问题。
我尝试使用UTF-8导出文本文件,但Excel无法解释字符。然后,我在记事本中打开导出的文本文件,并将其另存为"Unicode“,它开始在Excel中显示正确的字符。

那么谁能告诉我在Java中记事本"Unicode“的等价物是什么?
我的代码是:
response.getOutputStream().write(reportHTML.getBytes("UTF-8"));其中reportHTML具有制表符分隔值。
This是编码为Unicode的文本文件。
发布于 2012-11-28 18:59:37
这意味着"UTF-16LE",并且每个java平台实现都是required来支持它。
response.getOutputStream().write(reportHTML.getBytes("UTF-16LE"));记事本unicode编码还会在文件开头插入UTF-16LEBOM FF FE。
发布于 2012-11-28 18:09:51
尝试将BOM添加到文件的第一个字节。http://en.wikipedia.org/wiki/Byte_order_mark
发布于 2012-11-28 18:10:09
在Windows环境中,当一种编码被称为"Unicode“时,它通常指的是UCS-2 or UTF-16。
https://stackoverflow.com/questions/13602440
复制相似问题