1. 程式人生 > >使用jdbc連線資料庫中文亂碼問題

使用jdbc連線資料庫中文亂碼問題

     今天在學習jdbc時做了一個專案,專案主要實現的功能是通過jdbc連線資料庫,進行新增和查詢圖書館書籍。過程中遇到了新增中文到資料庫的亂碼問題,跟大家分享一下解決方案:

一.新增的時候是否有報錯(沒有的話直接繞道到二)

    如果報錯的話應該是如圖所示:

    這個錯誤是你資料庫的編碼問題引起的,可以通過bin>mysql.exe進入mysql後通過執行以下語句來檢視目前資料庫的編碼:

   show variables like '%char%';

  查詢結果如下:

     可以看到我的編碼大多數都是gbk編碼,建議大家改成utf8編碼或者gbk編碼,具體原因可以自己百度以 下就知道了。修改方法如下(以下只說明操作最簡單的一種方法):

    先開啟服務,將MySql服務關閉。再開啟mysql安裝的目錄檔案,在檔案中開啟bin,bin中找到MySQLInstanceConfig.exe檔案,開啟。開啟後介面如下:

    這是重新配置mysql的檔案,點到預設編碼方式這一步,選擇最後一項,點開選擇列表選擇gbk編碼方式,然後完成接下來的步驟,重新配置完成。

配置完成後重新開啟mysql服務,執行mysql,輸入show variables like '%char%'(就是開頭的步驟),就可以看到與筆者一樣的編碼配置了;完成以後咱們就接著看第二步,第二步不做的話還是會出現亂碼的。

二.配置url

    在你jdbc中的url配置後面加上這段程式碼:?useUnicode=true&characterEncoding=GB18030

    比如我本來url的配置是這樣的:

    String url = "jdbc:mysql://localhost:3306/db_database10";

    加了程式碼後:

    String url = "jdbc:mysql://localhost:3306/db_database10?useUnicode=true&characterEncoding=GB18030";

 

筆者解決了這兩個問題後完美執行:

結果:

    想要此程式的原始碼的小夥伴的們可以在下面留下你們的郵箱,我會發給你們。