为了账号安全,请及时绑定邮箱和手机立即绑定

JDBC 连接字符编码是如何工作的?

JDBC 连接字符编码是如何工作的?

哈士奇WWW 2021-09-03 16:59:32
在 JDBC url 中指定字符编码。前任:jdbc:mysql://host:3306/db?characterEncoding=UTF8.jdbc:teradata://host/DBS_PORT=1025,DATABASE=Orders,CHARSET=UTF8我试图了解这实际上是如何工作的。这是否意味着客户端专门询问服务器它想要数据的字符编码?如果实际数据在 DB 中以不同的字符编码保存(比如 Shift_JIS),DB 服务器是否在将数据发送到客户端之前执行编码转换?(在这个例子中,从 SJIS 到 UTF-8 ?)
查看完整描述

1 回答

?
桃花长相依

TA贡献1860条经验 获得超8个赞

这与 JDBC 没有直接关系,但它是各个 JDBC 驱动程序的特定实现细节。并非所有驱动程序/数据库都允许您指定连接字符集。这可能是因为他们的协议总是使用特定的字符集,或者每列的编码是固定的并与数据一起通信。如果驱动程序确实具有这样的属性,其影响将因驱动程序/数据库系统而异,甚至可能因特定数据库、表甚至列而异。

不可能确切地概括这种设置对驱动程序的作用。


我已经发现很难描述我维护的 JDBC 驱动程序的连接字符集的确切影响(和边缘情况)......,更不用说考虑/调查其他驱动程序了。


查看完整回答
反对 回复 2021-09-03
  • 1 回答
  • 0 关注
  • 179 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信