有一次在開發javaEE的時候,需要用到Mysql,當時的伺服器使用的是linux,我把所有的東西都寫好了,但是在界面上出現的字元總是“???”,當時以為是資料庫存放的編碼不對!我發現mysql中的資料庫編碼也是utf8(我在struts2中配置的是utf-8)
當時很頭疼,做了很長時間的javaEE,怎麼還有這樣的問題存在,當時查了很多資料,感覺都不能滿意,終于有一次在google上面看英文的解說(英語不好,一般都是跳過英文的),老外的意思是需要在Hibernate連接配接資料庫的字元串裡面追加字元編碼格式,比如請求hello這個資料庫,那麼請求的連接配接字元是:
<property name="connection.url">
jdbc:mysql://127.0.0.1:3306/hello?useUnicode=true&characterEncoding=UTF-8
</property>
但是連接配接了,發現界面和背景答應出來的還是“???”,.當時特别郁悶,沒辦法,還是繼續看國外的一些文章,最後終于明白,這種寫法是沒有問題的,關鍵的錯誤問題的存在“&”,要把上面的“&”修改為“&”,我實驗了一些,結果這種方式的确可以解決“??”這種情況
完整的寫法:jdbc:mysql://127.0.0.1:3306/hello?useUnicode=true&characterEncoding=UTF-8
是以以後大家如果出現了這種問題,就需要為Hibernate的連接配接url添加字元編碼了哦!
學習在于積累!
轉載于:https://www.cnblogs.com/springskyhome/archive/2011/11/23/3689954.html