首頁 > Java > Java基礎 > 主體

java插入mysql資料亂碼解決方法

發布: 2019-12-11 17:24:36
原創
2295 人瀏覽過

java插入mysql資料亂碼解決方法

方式一:設定編碼統一

#1.設定eclipse環境編碼(推薦:java影片教學

java插入mysql資料亂碼解決方法

2.設定mysql環境編碼

mydb為需要修改的資料庫名稱

java插入mysql資料亂碼解決方法

方式二:建立資料庫時設定編碼

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-8

public 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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板