上传CSV文件后台数据乱码问题

前台上传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);//第一列

	}
			
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值