JDBC連線池中文亂碼解決方案
阿新 • • 發佈:2019-02-04
Tomcat中有介紹JDBC連線池的文件,這裡我就不闡述了JDBC連線池的技術。
正如我前篇部落格所說的那樣
出現亂碼的根本原因是字符集的不統一造成的,因此只要統一字符集即可。
所以,只要保持字符集統一即可。
MySql伺服器端使用的是預設字符集latin1_bin,並不是我們所期待的UTF-8,所以需要我們去設定MySql的連線的字符集編碼。
亂碼解決方案一:新增連線引數
連線資料庫的URL中配置引數
jdbc:mysql://localhost:3306/WebHuzi?useUnicode=true&characterEncoding=utf8
在使用XML配置時,上述程式碼會報錯,原因是XML中&符號需要轉義,使用轉義字元即可。
jdbc:mysql://localhost:3306/WebHuzi?useUnicode=true&characterEncoding=utf8
亂碼解決方案二:修改MySql預設字符集
開啟MySql安裝目錄,在bin目錄下找到my.ini檔案(不同版本MySql的my.ini檔案放置位置可能不同,我使用的某個版本是在根目錄下配置my.ini),新增如下程式碼
# 這段程式碼清放置在[mysqld]的下面
collation_server=utf8_unicode_ci
character_set_server=utf8
skip-character-set-client-handshake
character_sets-dir="D:/mysql/share/charsets"
character_sets-dir是mysql字符集目錄,預設在MySql安裝目錄下的\share\charsets資料夾中,這裡根據自己的實際安裝目錄來填寫。
這樣一來,亂碼問題就解決了。