在Java和CSV文件中设置UTF-8
我正在使用此代码通过OpenCSV将波斯语单词添加到csv文件中:
String[] entries="\u0645 \u062E\u062F\u0627".split("#");try{
CSVWriter writer=new CSVWriter(new OutputStreamWriter(new FileOutputStream("C:\\test.csv"), "UTF-8"));
writer.writeNext(entries);
writer.close();
}
catch(IOException ioe){
ioe.printStackTrace();
}
当我在Excel中打开生成的csv文件时,它包含 。其他程序(例如notepad.exe)没有此问题,但是我所有的用户都在使用MS
Excel。
与更换OpenCSV SuperCSV不解决这个问题。
当我手动将波斯字符输入到csv文件中时,我没有任何问题。
回答:
不幸的是,CSV是一种非常特殊的格式,没有元数据,也没有要求灵活编码的实际标准。只要使用CSV,就不能可靠地使用ASCII以外的任何字符。
您的选择:
- 写入XML(如果正确执行,它确实具有编码元数据),并让用户将XML导入Excel。
- 使用Apache POI创建实际的Excel文档。
以上是 在Java和CSV文件中设置UTF-8 的全部内容, 来源链接: utcz.com/qa/404881.html