前台上传CSV文件(图形显示和js代码),
显示时如下图中文乱码--->加上textEncoding: 'GBK',指定编码上传显示中文就不会乱码了
//上传Csv
function fileInputCsv(data) {
return $("#uploadCsvVal").fileinput({
uploadUrl: ctx + "/attachmentUpload", //上传的地址
uploadAsync: true,
language: 'zh',
textEncoding: 'GBK', //加上编码GBK中文就不会乱码了
enctype: 'multipart/form-data',
elErrorContainer: '#kartik-file-errors',
allowedFileExtensions: ["csv", "xls", "xlsx"],
uploadExtraData: data
});
}
后台代码(获取时的数据也是乱码,后来终于解决了说下:
我测试是新建的excel文件,然后直接将后缀改为csv,因为这样所以才导致乱码,需要另存一份为csv文件)
FileInfo fileInfo = dustParticleDao.get(FileInfo.class, fileId);
String filepath = fileInfo.getFilePath();
File file = new File(filepath);
InputStream is = new FileInputStream(filepath);
if (file.isFile()) {
CsvReader reader = new CsvReader(is, Charset.defaultCharset());
// CsvReader reader = new CsvReader(is, Charset.forName("GBK"));
reader.readHeaders();// 跳过表头
while (reader.readRecord()) {//循环读取每一行
String td1 = reader.get(0);//第一列
String td2 = reader.get(1);//第一列
}
}