我們有一個使用UTF-8(NLS_CHARACTERSET = AL32UTF8)的Oracle數據庫。 然後,我們在使用Hibernate的Glassfish中有一個J2EE應用程序。Oracle DB,Glassfish,休眠和字符編碼
使用SQL Plus或SQL Developer時,我們可以正確讀寫數據,但我們無法以編程方式獲取特殊字符。
讀取一個ä
我們得到√§
看着我試過類似的問題:
調整Hibernate屬性
<property name="hibernate.connection.characterEncoding" value="utf8" />
加入
defaultNChar=true
連接支柱erty在Glassfish的通過Hibernate
<property name="hibernate.connection.defaultNChar" value = "true"/>
設置的字符集添加
defaultNChar
連接屬性設置爲utf8
<property name="hibernate.connection.charSet" value="utf8" />
但我還是沒能得到任何字符,其不是基本的ASCII。
任何暗示我做錯了什麼?
編輯:與得到我的意思是使用select語句獲取。使用調試器進行檢查,或者使用斷言與正確的(例如,"ä"
)字符串進行比較。
你能定義「get」嗎?你無法查看字符,或者無法從數據庫中選擇它們嗎? – Ben 2012-02-05 17:41:50
@Ben:你是對的:我編輯了澄清問題。選擇該值並以編程方式或使用調試器進行檢查。 – Matteo 2012-02-05 19:08:14
@Matteo是nvarchar字段中的數據嗎? – tbone 2012-02-06 20:12:57