use*_*162 11 java unicode utf-8 opencsv
我使用opencsv有一个非常烦人的编码问题.当我导出csv文件时,我将字符类型设置为'UTF-8'.
CSVWriter writer = new CSVWriter(new OutputStreamWriter("D:/test.csv", "UTF-8"));
Run Code Online (Sandbox Code Playgroud)
但是当我用Microsoft Office Excel 2007打开csv文件时,它发现它有'UTF-8 BOM'编码?
一旦我将文件保存在记事本中并重新打开,文件将返回UTF-8并且其中的所有字母都显示正常.我想我已经搜索得足够多了,但我没有找到任何解决方案来防止我的文件变成'UTF-8 BOM'.有什么想法吗?
goo*_*yun 18
我想你的文件有'UTF-8无BOM'编码.您最好将BOM编码提供给您的文件,即使在大多数情况下不需要,但只有一个明显的例外是当您处理ms excel时.
FileOutputStream os = new FileOutputStream(file);
os.write(0xef);
os.write(0xbb);
os.write(0xbf);
CSVWriter csvWrite = new CSVWriter(new OutputStreamWriter(os));
Run Code Online (Sandbox Code Playgroud)
现在你的文件将被excel理解为utf-8 csv.
| 归档时间: |
|
| 查看次数: |
15229 次 |
| 最近记录: |