我与opencsv(2.3)工作,我创建包含特殊chracters属性文件中的CSV的头。
余编码使用UTF-8和设置属性作为报头为CSV。
但我仍然看到CSV文件中创建犯规反映编码。
(我用同样的方法使用JasperReports把创建PDF,在那里,我可以看到有特殊字符的列进行编码以及和正常显示)
Java版本:7
属性文件的内容:(E是越来越存储为©和U被存储为那张)
lan.response =名称反应变量
lan.exef =执行
lan.exeg =类型
方法采用CSV:
/* properties file*/
final File propertiesFile = new File(System.getProperty("user.home"), "tmp/lan.properties");
final FileInputStream fis= new FileInputStream(propertiesFile);
final InputStreamReader inputStreamReader = new InputStreamReader(fis, "UTF-8");
final Properties properties= new Properties();
properties.load(inputStreamReader);
properties.list(System.out);
/*CSV Header*/
StringBuilder header = new StringBuilder();
header.append(properties.get(lan.response)).append(",");
header.append(properties.get(lan.exef)).append(",");
header.append(properties.get(lan.execg));
String[] colHeader = header.split(",");
FileOutputStream fos = new FileOutputStream(fileName);
Writer fw = new OutputStreamWriter(fos, StandardCharsets.UTF_8);
CSVWriter csvWriter = new CSVWriter(fw, ";");
// add header
csvWriter.writeNext(colHeader);
// add data
String[] col= new String[3];
for(Customer c : customerList) {
col[0] = c.getCustomerName();
col[1] = c.getCustomerId();
col[2] = c.getCustomerBirthDate();
csvWriter.writeNext(col);
}
csvWriter.close();
任何人都可以请帮我,我能够看到其他文件格式(例如:PDF)的特殊字符不CSV?