Unicode в экспортированном CSV неверен даже с правильным UTF-8 - PullRequest
0 голосов
/ 01 апреля 2019

Я создал небольшой .html для вызова API и загрузки результата в CSV.Но мой CSV содержит Unicode, который указан неверно.

Я пытался включить "\ uFEFF", но без положительного результата.

function downloadCSV(args) {
    var data, filename, link;

    var csv = convertArrayOfObjectsToCSV({
        data: ObjectArray
    });
    if (csv == null) return;

    filename = args.filename || 'export.csv';

    if (!csv.match(/^data:text\/csv/i)) {
        csv = 'data:text/csv;charset=utf-8,sep=,\n' + csv;
    }
    data = encodeURI(csv);

    link = document.createElement('a');
    link.setAttribute('href', data);

    link.setAttribute('download', filename);
    link.click();
}

Если я попытаюсь console.log (data), он выдаст правильные символы из юникода.И если я изменю свой Excel, чтобы прочитать его в Unicode.Персонажи тоже правильные.Поэтому мне нужно каким-то образом заставить моего Excel открыть файл в правильном направлении.Может быть, использовать маску порядка байтов (BOM) - но я не уверен, как.

...