从浏览器导出的CSV在Excel上无法正确显示特殊字符

时间:2015-06-26 16:30:36

标签: javascript excel csv browser encoding

我正在尝试以csv格式导出一些数据,它是从我的数据库(mongodb)中使用AJAX调用获取的。

问题是在CSV导入后,Excel中的特殊字符(例如é à)无法正确显示。

但是,它们在LibreOffice / Open Office,Google Spreadsheetm以及我可以尝试的任何文本编辑器上都能正确显示。

我认为该文件是用UTF-16编码的,因为它是从javascript生成的。

以下是我在JavaScript中创建导出的方法(这是AngularJS):

  $scope.downloadCityCSV = function() {
    $scope.csvURL = 'building';
    var data = 'email;first name;last name;Email confirmé;city;quantity;date\n';
    $scope.campaignData.cityVotes.forEach(function(vote) {
      var customer = vote.customer;
      data += customer.email +';' + customer.firstName +';' + customer.lastName +';' + (customer.accountConfirmed?"O":"N") +';' + vote.cityProposal + ';' + vote.quantity + ';' + vote.created + '\n';
    });
    var blob = new Blob([data], { type : 'text/csv' });
    $scope.csvURL = (window.URL || window.webkitURL).createObjectURL(blob);
  };

我做错了吗?

0 个答案:

没有答案