我正在尝试使用Google App Script导入带有法语口音的CSV文件,使用getContentAsString()读取文件,然后将其处理为Google电子表格。似乎unicode字符被发送回垃圾。
经过调查,似乎getContentAsString()使用UTF-8打开文件。使用Western Mac OS Roman或Western Windows Latin 1创建文件时出现问题 - 导出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');
...
答案 0 :(得分:2)
您可以选择charset。这是一个UTF-16示例。
DocsList.getFileById(<some id>).getBlob().getDataAsString("UTF-16")