方式一:設定編碼統一
#1.設定eclipse環境編碼(推薦:java影片教學)
2.設定mysql環境編碼
mydb為需要修改的資料庫名稱
方式二:建立資料庫時設定編碼
1. mysql建立database時設定編碼
create database mydb default character set utf8 collate utf8_general_ci;
2.建立表格時設定編碼
CREATE TABLE `type` ( `id` int(10) unsigned NOT NULL auto_increment, `flag_deleted` enum('Y','N') character set utf8 NOT NULL default 'N', `flag_type` int(5) NOT NULL default '0', `type_name` varchar(50) character set utf8 NOT NULL default '', PRIMARY KEY (`id`) ) DEFAULT CHARSET=utf8;
##方式三:連接資料庫時設定
在URL後面加上?useUnicode=true&characterEncoding=UTF-8public class TestJdbc { private static String URL = "jdbc:mysql://localhost:3306/studentmanage?useUnicode=true&characterEncoding=UTF-8"; useUnicode=true&characterEncoding=UTF-8 private static String USER = "root"; private static String PASSWORD = "root"; public static void main(String[] args) { Connection con = null; String sql = "insert into user(uid,uname,password) values(?,?,?)"; try { Class.forName("com.mysql.jdbc.Driver"); con = DriverManager.getConnection(URL, USER, PASSWORD); con.close(); } catch (Exception e) { e.printStackTrace(); } }新增的作用是:指定字元的編碼、解碼格式。 例如:mysql資料庫用的是gbk編碼,而專案資料庫用的是utf-8編碼。這時候如果加入了useUnicode=true&characterEncoding=UTF-8 ,那麼作用有以下兩個面向:儲存資料時:資料庫在存放專案資料的時候會先用UTF-8格式將資料解碼成字節碼,然後再將解碼後的字節碼重新使用GBK編碼存放到資料庫。 取資料時:在從資料庫中取資料的時候,資料庫會先將資料庫中的資料以GBK格式解碼,然後再解碼後的字節碼重新按UTF-8格式編碼數據,最後再將數據回傳給客戶端。 更多java知識請關注
java基礎教學欄。
以上是java插入mysql資料亂碼解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!