我試圖使用Google App腳本導入帶有法語口音的CSV文件,使用getContentAsString()讀取文件,然後將其處理到Google Spreadsheet中。這似乎是unicode字符發回垃圾。DocsList文件getContentAsString()缺少Unicode字符
經過調查,它似乎getContentAsString()使用UTF-8打開文件。使用Western Mac OS Roman或Western Windows Latin 1創建文件時導致問題 - 在導出CSV時,較早的Excel上使用默認編碼。
有關如何規避此問題的任何建議?
舉例: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');
...
你從哪裏得到這些不好的字符?在電子表格本身?記錄器中是否一樣?你的工作表的區域設置是什麼?法國人嗎?我們?你可以發佈你用來導入CSV文件的代碼嗎? –
經過調查,它似乎getContentAsString()使用** UTF-8 **打開文件。當使用** Western Mac OS Roman **或** Western Windows Latin 1 **創建文件時,會導致問題 - 導出CSV時,較早的Excel上的默認編碼。 – VanacK
DocList服務已被棄用。請參閱https://developers.google.com/apps-script/sunset –