Импорт CSV в кодировке utf-8 в метеор с использованием Papa Parse

У меня возникли проблемы с экспортом некоторых данных из одного метеорного приложения (метеорное приложение 1) в виде CSV, а затем загрузка этого файла CSV в отдельное метеорное приложение (метеорное приложение 2) . В частности, хотя файл экспортируется из метеорного приложения 1 с кодировкой utf-8, я не знаю, как "сообщить" метеорному приложению 2, что csv закодирован в формате utf-8. В результате данные, полученные приложением 2 метеора, искажаются с помощью жаргонного выражения utf-8, например "%u2019" и т. Д.

Я использую пакет Clinical: CSV из атмосферы.js, который построен поверх Papa Parse.

Соответствующие строки экспорта кода в метеорном приложении 1:

'click #exportMe':function(){
  var csvContent = CSV.unparse(Tasks.find().fetch());
  window.open('data:text/csv;charset=utf-8,' + escape(csvContent), '_self');
},

Соответствующие строки импорта кода в метеорном приложении 2:

Template.example.events({
  'change #hiddenUpload': function(event){
    var filesList = event.currentTarget.files;
    var file = filesList[0];
    Papa.parse(file, {
        header:true,
        complete: function(results) {
          var data = results.data
          Meteor.call('tasks.batch',data)
        }
      });
  },
})

Я предполагаю, что был бы способ указать в импортирующем коде, что он закодирован в utf-8, но не смог найти ничего в какой-либо соответствующей документации.

Был бы очень признателен за любую помощь.

1 ответ

Попробуйте указать в коде вариант кодировки, как показано ниже:

Papa.parse(файл, {
        заголовок: правда,
        кодировка: "ISO-8859-1",
        complete: function(results) {
          var data = results.data
          Meteor.call('tasks.batch', данные)
        }
      });

Использовать encoding вариант (рядом header а также complete) из Papa.parse

http://papaparse.com/docs

Что касается символов "%uxxxx", они вызваны не кодировкой кодировки utf-8, а применяемой вами escape- функцией.

Попробуйте использовать листы Google, у Microsoft Excel есть проблема, а также установите кодировку UTF-8 в парсере papa. Для меня я перешел с Microsoft Excel на лист Google, и это сработало.

Другие вопросы по тегам