【问题标题】:JDBC to mysql Character encodingJDBC 到 mysql 字符编码
【发布时间】:2013-04-26 06:24:25
【问题描述】:

好的,我将在 https://developers.google.com/apps-script/jdbc 的教程代码上演示我的问题

function insert() {
  var conn = Jdbc.getConnection("jdbc:mysql://<host>:<port>/<instance>", "user", "password");

  conn.setAutoCommit(false);
  var stmt = conn.prepareStatement("insert into person (lname,fname) values (?,?)");
  var start = new Date();
  for (var i = 0; i < 5000; i++) {
    // Objects are accessed using 1-based indexing
    stmt.setObject(1, 'firstName' + i);
    stmt.setObject(2, 'lastName' + i);
    stmt.addBatch();
  }
  var res = stmt.executeBatch();
  conn.commit();
  conn.close();
  var endTime = new Date();
  Logger.log("time is " + (endTime.getTime() - start.getTime()) + "ms");
  Logger.log("res has " + res.length);
}

我来自斯洛伐克,在我更改此行后,我们有像 žťščľýá 这样的特殊字符

stmt.setObject(1, 'firstName' + i);

stmt.setObject(1, 'žťščľýá' + i);

我会得到????在我的数据库中。我的数据库和表中有 utf8_general_ci picture

我已经看到这个JDBC Service with MySQL : UTF-8 encoding / decoding 并尝试过Utilities.newBlob("").setDataFromString("foo", "UTF-8").getDataAsString("UTF-16") 和这个JDBC character encoding,很多人建议在我的连接链接之后使用?characterEncoding=utf8,但我会收到错误消息。

【问题讨论】:

    标签: jdbc google-apps-script


    【解决方案1】:

    我可以使用您那里的字符成功地写信给Google Cloud SQL (MySQL 5.5)。那是我可以访问的唯一 MySQL 数据库。

    您会看到我称之为动物的简单表在其中获取正确的数据。我什至尝试过日语,效果很好。

    这是我使用的代码 -

    function writeEncodingIssue() {
      var conn = Jdbc.getCloudSqlConnection("jdbc:google:rdbms://<MY_INTSANCE_NAME>/mysql");
      conn.setAutoCommit(false);
      var stmt = conn.prepareStatement("insert into animals (name) values (?)");
      for (var i = 0; i < 2; i++) {
        stmt.setObject(1, 'žťščľýá' + i);//ショッピング
        stmt.addBatch();
      }
      var res = stmt.executeBatch();
      conn.commit();
      conn.close();
    }
    

    也许您可以尝试用 Java 或其他方式编写测试程序,以将其与 Apps 脚本问题隔离开来?

    编辑:我已经能够用 MySQL 重现这个问题。 issue tracker item 已更新。 Apps 脚本团队正在对此进行调查。

    【讨论】:

      猜你喜欢
      • 2012-08-11
      • 2011-03-03
      • 2016-08-10
      • 1970-01-01
      • 2013-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多