JDBC连接URL中正确形式的&符号

时间:2014-02-17 11:35:38

标签: java mysql jdbc

我的应用程序使用JDBC(v5.2.26)连接到MySQL(v5.5)数据库,我正在插入非拉丁字符,所以一直确保所有内容都是UTF-8。但是当我插入一个包含中文字符的值(例如测试)时,它就变成了“??”。经过一些实验后,我将其缩小到JDBC连接字符串(它可以正常运行应用程序的其余部分,如果我手动插入数据库)。

我使用的原始网址是:

  

JDBC:MySQL的://dbserver.dev:3306 / DBNAME connectTimeout = 20000&安培;了socketTimeout = 60000&安培; autoReconnect的=真安培; useServerPrepStmts =假安培; cachePrepStmts =真安培; jdbcCompliantTruncation =假安培;了useUnicode =真安培;的characterEncoding = UTF-8

这个连接成功,我能够成功运行SQL对数据库;除非我插入“测试”,实际插入的是“??”。

这是我的新网址 - 请注意,我已将所有&更改为&,但没有其他更改。

  

JDBC:MySQL的://dbserver.dev:3306 / DBNAME connectTimeout = 20000&安培;了socketTimeout = 60000&安培; autoReconnect的=真安培; useServerPrepStmts =假安培; cachePrepStmts =真安培; jdbcCompliantTruncation =假安培;了useUnicode =真安培;的characterEncoding = UTF-8

如上所述,但它正确插入“测试”。

所以我的问题是什么是正确的形式?我已经在示例中看到了两个,尽​​管MySQL文档建议第二个是正确的。如果第二个是正确的形式,为什么第一个部分工作?或者我的问题是完全不同的,我错过了,这恰好解决了?

0 个答案:

没有答案