У меня есть массив данных, который конвертируется в CSV-файл с использованием javascript.
Некоторые значения данных имеют странные символы (например, ù и õ). Эти символы поддерживаются UTF-8, который является набором символов, который я использую для своей кодировки csv. Но все же эти странные буквы отображаются неправильно в моем результирующем CSV-файле.
Например, переменные Name ( à , ù, ë )
и Juònùõ
становятся:
Как я могу это исправить?
Это мой код (на основе вопроса: Как экспортировать JavaScript информацию о массиве в csv (на стороне клиента)? ) :
var data = [
["Name ( à , ù, ë )"],
["Juònùõ"]
]
var csvContent = '';
data.forEach(function(infoArray, index) {
dataString = infoArray.join(';');
csvContent += index < data.length ? dataString + '\n' : dataString;
});
var download = function(content, fileName, mimeType) {
var a = document.createElement('a');
mimeType = mimeType || 'application/octet-stream';
if (navigator.msSaveBlob) { // IE10
navigator.msSaveBlob(new Blob([content], {
type: mimeType
}), fileName);
} else if (URL && 'download' in a) { //html5 A[download]
a.href = URL.createObjectURL(new Blob([content], {
type: mimeType
}));
a.setAttribute('download', fileName);
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
} else {
location.href = 'data:application/octet-stream,' + encodeURIComponent(content); // only this mime type is supported
}
}
download(csvContent, 'dowload.csv', 'text/csv;encoding:utf-8,{header:true}');