在用java读取CSV文件时,在读取表头信息时一直获取不到对应的字段,而csv文件中,看不出多出来\uFEFF
这个编码
举个例子,正常的表头的中文应该是 "日期",但是CVS文件中实际却是 "\uFEFF日期"这样的,但看起来和"日期"没啥区别,所以解析获取的时候就出错了,以下是使用java对这种情况的处理:
/**
* 去除 字符串收尾的 特殊的Unicode [ "\uFEFF" ]
* csv 文件可能会带有该编码
* @param str
* @return
*/
public static String specialUnicode(String str){
if (str.startsWith("\uFEFF")){
str = str.replace("\uFEFF", "");
}else if (str.endsWith("\uFEFF")){
str = str.replace("\uFEFF","");
}
return str;
}
以上是去除收尾的\uFEFF
编码,留下干净的内容