1、資料庫插入中文亂碼首先需要排除的問題是,MySQL的預設字元集和對應database的字元集是什麼
通常為了以後的相容性,建議將整個MySQL的預設字元集都設定成utf-8。可以使用以下命令查看預設字元集:
mysql> SHOW VARIABLES LIKE 'character%';
建議對於新裝的MySQL直接將整個所有的預設字元集都設定成utf-8,對於已經有很多database的可以單獨設定特定的資料庫的字符集。
學習影片推薦:java零基礎入門
關於字元集的一些設定方法:
修改特定資料庫的字元集
mysql>use mydb mysql>alter database mydb character set utf-8;
建立資料庫指定資料庫的字元集
mysql>create database mydb character set utf-8;
2、指定JDBC在傳輸的時候使用utf-8編碼
這樣整個程式處理、傳輸、資料庫儲存都統一了編碼格式,因此中文就不會亂碼了。所以Java程式JDBC對應的資料庫URL應該寫成如下樣式:
// 驱动程序名 private static String driver = "com.mysql.jdbc.Driver"; // URL指向要访问的数据库名 private static String url = "jdbc:mysql://localhost:3306/watermarking?useUnicode=true&characterEncoding=utf-8"; // MySQL配置时的用户名 private static String user = "root"; // MySQL配置时的密码 private static String password = "root";
URL中「?」後面的就是指定使用UTF-8進行字元編碼
##更多java相關文章請追蹤:以上是java中向mysql資料庫插入中文資料出現亂碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!