gpt4 book ai didi

java - JDBC 连接字符编码如何工作?

转载 作者:行者123 更新时间:2023-12-04 15:54:53 24 4
gpt4 key购买 nike

在 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?)

最佳答案

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

要准确概括这种设置对驱动程序的作用是不可能的。


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

关于java - JDBC 连接字符编码如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52218739/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com