2017-07-04 184 views

回答

0

試試這個:

reader.readAsText(文件, 'ISO-8859-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); }; 
    } 

現在,即使未使用utf-8編碼保存csv文件,導入時也會收到這些非ascii字符。