Java编码,与数据库的连接

时间:2014-09-18 22:51:16

标签: java mysql spring jdbc

我最近将我的latin1数据库转换为utf8。我的所有排序规则和连接属性都设置为utf8,我也使用& useUnicode作为mysql驱动程序网址。

问题是,当Java在utf16中存储字符串时,我是否需要进行一些转换,或者驱动程序是否会将其从utf16转换为utf8以进行连接,反之亦然? 我一般都会问,但我们目前使用的是jdbc。

编辑: 让我们说用户输入任何类型的字符串,无论它是什么编码进入swing JTextField。 Java接受它,将其转换为utf16并存储它。如果我告诉我的jdbc驱动程序我将发送的所有数据已经​​是utf8并且它不应该转换,那怎么办呢。 当然我做了测试,它运行良好,但为什么呢?

1 个答案:

答案 0 :(得分:0)

utf16和utf8之间的转换是双向的。因此,只要您指定将其视为utf8',我认为您不需要进行任何转换。尽可能在你的java代码中。如果你从数据库中读取一个原始字符串,你可能根本不需要指定,当你的数据库检测到数据库的编码时,你的驱动程序/ ORM应该采取这种做法。