我正在尝试以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);
};
我做错了吗?