-2
我最近将我的latin1数据库转换为utf8。我所有的排序规则和连接属性都设置为utf8,我也使用& useUnicode作为mysql驱动程序url。Java编码,与数据库的连接
问题是,因为Java在utf16中存储字符串,我是否需要做一些转换,或者驱动程序是否将其从utf16转换为utf8进行连接,以及其他方式吗? 我一般会问,但也适用于我们目前使用的spring jdbc。
编辑: 可以说用户输入任何类型的字符串,不管它是什么编码,它是一个swing JTextField。 Java接受它,将其转换为utf16并存储它。如果我告诉我的jdbc驱动程序,我将发送的所有数据都已经是utf8,并且它不应该转换,那么这是如何工作的。 当然,我做了测试,它工作得很好,但为什么?
你为什么不试试并告诉我们? :) – 2014-09-18 22:52:38
这太好了,以至于......所以我最好问一下:) – JavaDesire 2014-09-18 22:57:23
java不会在UTF-16中“存储”字符串,它将字符作为Unicode操作,内部表示形式无关紧要,您告诉它它如何将它们“存储”在外部。您将其保留至您选择的默认值。大多数人将它们作为UTF-8在外部呈现。 – 2014-09-18 23:07:53