1. 程式人生 > >dbutils插入資料中文亂碼問題

dbutils插入資料中文亂碼問題

java使用dbutils插入資料時中文資料到了mysql資料庫裡就會變成"?"。查了好多方法,終於解決了。

要解決亂碼問題要保證3處地方的編碼是一致的。
java程式碼的編碼方式
資料庫的編碼方式
jdbc設定的編碼方式

舉例:將編碼方式全部設定成utf-8

java編碼格式

    在idea中,通過右下角可以檢視當前的編碼格式
在這裡插入圖片描述
    通過點選這個選項也可以修改編碼格式

資料庫的編碼格式

    在sqlyog中選擇修改表,在字符集選項中修改編碼方式。
在這裡插入圖片描述

jdbc的編碼格式

    在設定jdbc url的時候在後面加上一句

?useUnicode=true&characterEncoding=utf8

比如本來url是 URL = “jdbc:mysql:///test”
加上編碼設定後變成 URL = “jdbc:mysql:///test?useUnicode=true&characterEncoding=utf8”

我查的好多帖子裡面都說加上

?useUnicode=true&characterEncoding=UTF-8

凡是實際測試我這裡行不通,後來我發現數據庫裡面的字符集寫的是"utf8",我就嘗試把"UTF-8"修改成utf8,結果不再亂碼。