已超出DocsList文件getContentAsString()缺少Unicode字符(DocsL

2019-06-25 22:28发布

我试图导入使用谷歌应用程序脚本法国口音的CSV文件,读取使用getContentAsString()的文件,然后将其加工成谷歌电子表格。 它会似乎Unicode字符发回的垃圾。

经调查后,它会使用UTF-8似乎getContentAsString()打开的文件。 导出CSV当早期Excel默认的编码 - 当使用西方的Mac OS罗马或西方的Windows拉丁文1中创建的文件,这会导致问题。

如何解决这个问题的任何建议?

例如:quipement应EQUIPEMENT

function Test() {
  var filename = 'BV_period_2.csv';
  var files = DocsList.getFiles();
  var csvFile = "";

  for (var i = 0; i < files.length; i++) {
    if (files[i].getName() == filename ) {
      csvFile = files[i].getContentAsString(); //csvFile will have �     
      break;
    }
  }

  var csvData = CSVToArray(csvFile, ",");
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName('TestBV');
  ...

Answer 1:

您也可以选择的字符集。 这里有一个UTF-16的例子。

DocsList.getFileById(<some id>).getBlob().getDataAsString("UTF-16")


文章来源: DocsList File getContentAsString() missing unicode characters