2

Google App Scriptを使用してフランス語のアクセント付きのCSVファイルをインポートし、getContentAsString()を使用してファイルを読み取り、それをGoogleスプレッドシートに処理しようとしています。Unicode文字はゴミとして返送されているようです。

調査の結果、getContentAsString()はUTF-8を使用してファイルを開いているようです。これにより、ファイルがWestern MacOSRomanまたはWesternWindowsLatin1を使用して作成されたときに問題が発生します。CSVをエクスポートするときの古いExcelのデフォルトのエンコーディングです。

この問題を回避する方法について何か提案はありますか?

例:�quipementはÉquipementである必要があります

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');
  ...
4

1 に答える 1

3

オプションで文字セットを選択できます。これがUTF-16の例です。

DocsList.getFileById(<some id>).getBlob().getDataAsString("UTF-16")
于 2012-07-03T16:32:46.160 に答える