如何使用UTF-8编码数据执行融合表请求

How to execute a fusion table request using UTF-8 encoded data?

本文关键字:融合 请求 执行 数据 何使用 UTF-8 编码      更新时间:2023-09-26

我使用这个fusionRequest函数,但不能保存重音字符。

我认为我们必须使用UTF-8加密,但我的代码出现了问题。

这是:

function fusionRequest(method, sql) {
  var url = "https://www.google.com/fusiontables/api/query";
  if (USE_OAUTH) {
    var fetchArgs = googleOAuth_();
  }
  else {
    var fetchArgs = new Object();
    fetchArgs.headers = {
      "Authorization": "GoogleLogin auth=" + getAuthToken_()
    };
  }
  fetchArgs.method = method;
  if (method == 'get') {
    url += '?sql=' + sql;
    fetchArgs.payload = null;
  }
  else {
    fetchArgs.payload = 'sql=' + sql;
  }
  fetchArgs.charset = '"UTF-8"';
  var response = UrlFetchApp.fetch(url, fetchArgs);
  var responseText = response.getContentText();
  return response.getContentText();
}

提前感谢您的宝贵帮助。。。

BR

Patrick

对于POST,您可以尝试:

fetchArgs.headers["Content-Type"] = "application/x-www-form-urlencoded;charset=UTF-8";

还没有测试过,但请告诉我它是否有效。否则,您可以尝试:

fetchArgs.headers["Accept-Charset"] = "UTF-8";