csv文件乱码

简介: 问题描述: 生成的csv文件,设置为UTF-8格式,在windows上用EXCEL打开的话会乱码,在linux上用vim或者cat打开查看正常;设置为GBK格式的话,在windows上用EXCEL打开正常,但在linux上乱码   解决方法: 在csv文件头部的最前面加bom   BOM(Byte Order Mark),是 UTF编码方案里用于标识编码的标准标记,在 UTF-16里本来是 FF FE,变成 UTF-8就成了 EF BB BF。
问题描述:
生成的csv文件,设置为UTF-8格式,在windows上用EXCEL打开的话会乱码,在linux上用vim或者cat打开查看正常;设置为GBK格式的话,在windows上用EXCEL打开正常,但在linux上乱码
 
解决方法:
在csv文件头部的最前面加bom
 
BOM(Byte Order Mark) ,是 UTF编码方案里用于标识编码的标准标记,在 UTF-16里本来是 FF FE,变成 UTF-8就成了 EF BB BF。这个标记是可选的,因为 UTF8字节没有顺序,所以它可以被用来检测一个字节流是否是 UTF-8编码的。微软做这种检测,但有些软件不做这种检测,而把它当作正常字符处理。
 
代码如下:
File file = new File( ospFileName );
OutputStream stream = new FileOutputStream( file );
stream .write( new byte [] { ( byte ) 0xEF, ( byte ) 0xBB, ( byte ) 0xBF });
CsvWriter ospWriter = new CsvWriter( stream , ',' , Charset.forName( "UTF-8" ));
String[] ospHead = new String[]{ "No" , "Comment" , "server" , "method" , "param-exp" , "response" , "trace-id" };
ospWriter .writeRecord( ospHead );
 
这样的话,在windows上用EXCEL打开就不会是乱码,linux上也显示正常;
虽千万人,吾往矣!
目录
相关文章
csv 如果是utf-8 那么excel打开的时候为啥是乱码
csv 如果是utf-8 那么excel打开的时候为啥是乱码
582 0
|
16天前
|
存储 Python
CSV文件
【10月更文挑战第18天】CSV文件
54 2
|
1月前
CSV写入文件追加新的内容,文件编码处理
CSV写入文件追加新的内容,文件编码处理
38 8
|
6月前
|
Java Apache
导出csv格式的文件
导出csv格式的文件
54 0
|
3月前
Navicat——数据以CSV格式文件导出后乱码
Navicat——数据以CSV格式文件导出后乱码
45 0
|
存储 数据挖掘 数据处理
【解决 Excel 打开 UTF-8 编码 CSV 文件乱码的 BUG 】
【解决 Excel 打开 UTF-8 编码 CSV 文件乱码的 BUG 】
748 0
|
6月前
|
JavaScript
盘点CSV文件在Excel中打开后乱码问题的两种处理方法
盘点CSV文件在Excel中打开后乱码问题的两种处理方法
1389 0
|
存储 缓存 Python
excel打开csv乱码解决------------为什么pycharm里面csv不乱码,excel里面却乱码了
excel打开csv乱码解决------------为什么pycharm里面csv不乱码,excel里面却乱码了
497 0
excel打开csv乱码解决------------为什么pycharm里面csv不乱码,excel里面却乱码了
|
数据处理 Python
多线程操作CSV文件并且将CSV文件转成XLSX文件
多线程操作CSV文件并且将CSV文件转成XLSX文件
228 0
|
Java 数据库连接 数据安全/隐私保护
Beeline -e 写 CSV 文件乱码
Beeline -e 写 CSV 文件乱码