文字コードはヘッダーの中にあるので多分これで取れる。
サンプル
function fechHtmlByUrl(url) {
const response = UrlFetchApp.fetch(url);
const headers = response.getHeaders();
const contentType = headers['Content-Type'].replace(/\s+/g, '');
const indexOfCharset = contentType.indexOf('charset=');
const code = (indexOfCharset == -1) ? '' : contentType.substring(indexOfCharset + 8);
return response.getContentText(code);
}
追記
https://developers.google.com/apps-script/reference/url-fetch/url-fetch-app#fetch(String,Object)
公式サイトによればUrlFetchApp.fetchのAdvanced parametersでheadersをtureとすればa JavaScript key/value map of HTTP headersが手に入るらしいがよくわからないのでやってない。