我有这段代码将BOM UTF-8添加到输出流。我需要添加BOM,因为Excel没有隐式识别UTF-8编码,因此法语字符在excel中显示为奇怪的字符。
try {
response.setContentType(getContentType(request, response));
response.setContentLength(downloadData.length);
ServletOutputStream os = response.getOutputStream();
//Specify the BOM (Byte order Mask) for UTF-8 so that Excel can identify the encoding and open it in the correct format
os.write(new byte[] { (byte)0xEF, (byte)0xBB, (byte)0xBF });
os.write(downloadData);
os.flush();
response.flushBuffer();
} catch (IOException e) {
logger.error(e);
}
但是,当我将输出流输出到文件时,不会打印最后一个字符。
任何想法为什么?
答案 0 :(得分:4)
考虑到BOM,不会将长度增加3吗?