Java生成UTF-8编码的csv,用Excel打开产生中文乱码问题解决方案

问题描述

Java生成UTF-8编码的csv,用Excel打开产生中文乱码问题。

因为Excel打开不是用的UTF-8编码,导致错误。

解决思路

让Excel知道csv是UTF-8编码的,用此编码打开,这样就不会产生乱码问题。

解决方案

在csv文件前加上BOM,如下

// 由于csv是UTF-8格式,用Excel打开就会乱码,所以加个BOM告诉Excel用UTF-8打开
String csv = new String(new byte[] { (byte) 0xEF, (byte) 0xBB,(byte) 0xBF });
csv += csv文件内容;
输出csv到具体文件或浏览器

 

你可能感兴趣的:(遇到的问题)