问题概述
如今的AUT导出csv文件的功能已经相当的常见,而打开文件后内容显示为乱码的现象也着实屡见不鲜,即便编码时候特意指定了码表为UTF-8,如下所示。
public void exportCSV(){
OutputStreamWriter fwriter = new OutputStreamWriter(
new FileOutputStream(new File("csv/export.csv")), "UTF-8");
ICsvBeanWriter writer = new CsvBeanWriter(fwriter,
CsvPreference.EXCEL_PREFERENCE);
…
}
既然指定了码表,为何用 Excel 打开 UTF-8 编码的 CSV 文件后,内容依然会是乱码呢?究其原因,竟是Excel本身默认会以 ANSI 格式打开,不做编码识别。