-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