客户端js:检查文件编码

时间:2017-07-04 06:42:55

标签: javascript utf-8 filereader

我必须在客户端验证我的下载文件是UTF-8编码的。我该怎么做? 也许有FileReader.readAsArrayBuffer()

的东西

2 个答案:

答案 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字符。