服務器和表都設置了字符集:DEFAULT CHARACTER SET utf8mb4
jdbc的連接字符串不支持utf8mb4,這個 這種方式 來解決的,如果服務器端設置了character_set_server=utf8mb4,則客戶端會自動將傳過去的utf-8視作utf8mb4。
其他的client端,比如php、python需要看下client是否支持,如果不能在連接字符串中指定的話,可以在獲取連接之后,執行”set names utf8mb4″來解決這個問題;
因為utf8mb4是utf8的超集,理論上即使client修改字符集為utf8mb4,也會不會對已有的utf8編碼讀取產生任何問題。
set names utf8mb4