1. 程式人生 > >JDBC連線池中文亂碼解決方案

JDBC連線池中文亂碼解決方案

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資料夾中,這裡根據自己的實際安裝目錄來填寫。

這樣一來,亂碼問題就解決了。