歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Hibernate連接MySQL中文亂碼處理

Hibernate連接MySQL中文亂碼處理

日期:2017/3/1 10:56:25   编辑:Linux編程
有一次在開發javaEE的時候,需要用到Mysql,當時的服務器使用的是linux,我把所有的東西都寫好了,但是在界面上出現的字符總是“???”,當時以為是數據庫存放的編碼不對!我發現mysql中的數據庫編碼也是utf8(我在struts2中配置的是utf-8)

當時很頭疼,做了很長時間的javaEE,怎麼還有這樣的問題存在,當時查了很多資料,感覺都不能滿意,終於有一次在google上面看英文的解說(英語不好,一般都是跳過英文的),老外的意思是需要在Hibernate連接數據庫的字符串裡面追加字符編碼格式,比如請求hello這個數據庫,那麼請求的連接字符是:

  1. <property name="connection.url">
  2. jdbc:mysql://127.0.0.1:3306/hello?useUnicode=true&characterEncoding=UTF-8
  3. </property>

但是連接了,發現界面和後台答應出來的還是“???”,.當時特別郁悶,沒辦法,還是繼續看國外的一些文章,最後終於明白,這種寫法是沒有問題的,關鍵的錯誤問題的存在“&”,要把上面的“&”修改為“&amp;”,我實驗了一些,結果這種方式的確可以解決“??”這種情況
完整的寫法:jdbc:mysql://127.0.0.1:3306/hello?useUnicode=true&amp;characterEncoding=UTF-8

所以以後大家如果出現了這種問題,就需要為Hibernate的連接url添加字符編碼了哦!

Copyright © Linux教程網 All Rights Reserved