NetSuite 开发日记:解决导入 CSV 与 Excel 文件时中文乱码问题

Backgroud

在使用SheetJS库导入带有中文的CSV文件时,中文被解析为了乱码

Analysis

  1. 乱码肯定是编码问题
  2. 确定CSV的编码,可使用VS Code、记事本来查看
  3. 修改CSV文件编码为UTF-8,依然乱码
  4. 修改CSV文件编码为GBK,依然乱码
  5. 经过上述尝试,猜测不是本地文件问题,查阅网络资料得知可使用codepage参数修改数据编码

Solution

关键点:使用codepage参数

常用codepage参数列表

codepage Description
874 Windows Thai
932 Japanese Shift-JIS
936 Simplified Chinese GBK
950 Traditional Chinese Big5
1200 UTF-16 Little Endian
1252 Windows Latin 1
var fileField = document.getElementById('custpage_file');
var file = fileField.files[0];
if (!file) { return; }
var reader = new FileReader();
reader.onload = function (e) {
	var data = e.target.result;
	var wb = XLSX.read(data, {
		type: 'binary',
		// 1252为默认值,936为中文简体编码
		codepage: 936
	});
};
posted @ 2022-12-27 00:57  橙噫i  阅读(344)  评论(0编辑  收藏  举报