我必须在客户端验证我的下载文件是UTF-8编码的。我该怎么做?
也许有FileReader.readAsArrayBuffer()
答案 0 :(得分:0)
试试这个:
reader.readAsText(file,'ISO-8859-1');
可能会对你有所帮助。
答案 1 :(得分:0)
我碰巧正在进行一些文件上传操作,并且遇到了带有非ascii字符的csv文件的问题。但是,使用ISO-8859-1解决了我的问题,但没有使用utf-8或utf-16。这是我的代码段。
function printTable(file) {
var reader = new FileReader();
reader.readAsText(file, 'ISO-8859-1');
reader.onload = function (event) {
var csv = event.target.result;
var data = $.csv.toObjects(csv);
var html = '';
for (var row in data) {
html += '<tr>\r\n';
for (var item in data[row]) {
html += '<td>' + item + ':' + data[row][item] + '</td>\r\n';
}
html += '</tr>\r\n';
}
$('#contents').html(html);
};
reader.onerror = function () { alert('unable to read ' + file.fileName); };
}
现在,即使csv文件没有使用utf-8编码保存,我也会在导入时获取那些非ascii字符。