0

내 요청의 컨텍스트에 대해 설명해 드리겠습니다. Google 스프레드 시트의 콘텐츠를 .txt 표 형식의 파일로 출력하려고합니다. 은 UTF-16으로 인코딩되어 있습니다. 파일.DriveApp.createFile을 사용하여 Google 스크립트에서 출력 파일 인코딩을 변경 하시겠습니까?

사실, 오른쪽 폴더에서 올바른 결과를 얻었고 원하는 이름을 사용했습니다 ...하지만 charset은 UTF-8입니다 (기본 텍스트 편집기로 확인했습니다).

문제은 Google 스크립트로 문자 집합 조작에 관한 문서를 찾을 수 없습니다. 내 유일한 솔루션은 지금은 서브 스크립 션 텍스트에서 기본 수동 charset 조작입니다 ...

여기 내 코드 (프랑스어 번역 된)입니다.

답장을 보내 주셔서 감사합니다.

이 이미 대답했습니다

function export() { 
    //sheet manipulation part 
    //Get the sheet and set data range i need 
    var sheet = SpreadsheetApp.getActiveSheet(); 
    var range = sheet.getDataRange(); 
    var values = sheet.getRange(2, 1, sheet.getLastRow()-1, sheet.getLastColumn()).getValues(); 
    var text = values.map(function (a) {return a.join('\t');}).join('\n'); 

    //Path setting and export part 
    // Get sheet info, define path and create file 
    var id = SpreadsheetApp.getActiveSpreadsheet().getId(); 
    var idString = id.toString(); 
    var thisFile = DriveApp.getFileById(idString); 
    var parentFold = thisFile.getParents(); 
    var folder = parentFold.next(); 
    var theId = folder.getId(); 
    var targetFolder = DriveApp.getFolderById(theId); 
    targetFolder.createFile('liste du ' + new Date() + '.txt', text, MimeType.PLAIN_TEXT); 
} 

답변

0

막심이 SO post :

Utilities.newBlob("").setDataFromString("foo", "UTF-8").getDataAsString("UTF-16") 
+0

이봐, 당신의 대답을 주셔서 감사하지만 파일 내부의 문자가 아마 인코딩 때문에이 올바른 해결책이 아니다 UTF-16에서, ** DriveApp.createFile이있는 ** exported ** 파일은 UTF-16으로 인코딩되지 않았습니다. 무슨 뜻인지 알겠습니까? 다시 thx. – Maxime