我有一個與unicode文本字符串在其中的MySQL數據庫。我的JSF應用程序(在tomcat 6上運行)可以讀取這些unicode字符串並在瀏覽器中正確顯示它們。所有的html字符集都設置爲UTF-8。Unicode字符正在保存不正確
當我保存我的對象時,即使沒有做任何更改,Hibernate也會將其保留回數據庫。如果我現在直接看數據庫,我發現帶有重音的字符變成了垃圾。
我的數據庫連接字符串是:
<property name="hibernate.connection.url"
value="jdbc:mysql://database.address.com/dbname?autoReconnect=true&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8"/>
改變這種對的characterEncoding,而不是UTF8 UTF-8沒有什麼區別。
事實上,它確實在工作日前,但現在不是,我不知道要檢查什麼。你有什麼建議嗎?我可以提供任何被認爲相關的更多信息。
刪除'res.setContentType()',它只是多好不好。 bozho已經建議'req.setCharacterEncoding()'。有關更多詳細信息和解決方案,請參閱[本文](http://balusc.blogspot.com/2009/05/unicode-how-to-get-characters-right.html)。 – BalusC 2010-12-02 18:08:44