首頁 >Java >Java基礎 >java向mysql插入資料出現亂碼解決方法

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

尚
原創
2019-11-28 10:52:492197瀏覽

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

Java 向mysql插入資料亂碼出現問號解決方法:(推薦:java影片教學

java向資料庫插入資料出現問號的亂碼問題,先確定資料庫的編碼格式是否正確,可以在mysql的資料庫中insert一個語句看看是不是可以正常顯示中文,如果可以正常顯示,那麼就是java連接資料庫的時候,沒有帶編碼存取資料庫。

解決方法

static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
    static final String DB_URL = "jdbc:mysql://localhost:3306/dbname?characterEncoding=UTF-8";

完整編碼

package com.music.test;

import java.sql.*;

public class DBMySQL {
    // JDBC 驱动名及数据库 URL
    static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
    static final String DB_URL = "jdbc:mysql://localhost:3306/dbname?characterEncoding=UTF-8";

    // 数据库的用户名与密码,需要根据自己的设置
    static final String USER = "***";
    static final String PASS = "***";
    private Connection conn = null;

    public DBMySQL() {
        try {
            // 注册 JDBC 驱动
            Class.forName("com.mysql.jdbc.Driver");
            // 打开链接
            System.out.println("连接数据库...");
            conn = DriverManager.getConnection(DB_URL, USER, PASS);
        } catch (SQLException se) {
            // 处理 JDBC 错误
            se.printStackTrace();
        } catch (Exception e) {
            // 处理 Class.forName 错误
            e.printStackTrace();
        }
    }

    public int insert(Album album) {
        int i = 0;
        String sql = "insert into album (album_name,singer,album_url) values(?,?,?)";
        try {

            PreparedStatement preStmt = conn.prepareStatement(sql);
            preStmt.setString(1, album.getAlbum_name());
            preStmt.setString(2, album.getSinger());// 或者:preStmt.setInt(1,值);
            preStmt.setString(3, album.getAlbum_url());// 或者:preStmt.setInt(1,值);

            i = preStmt.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }

        return i;// 返回影响的行数,1为执行成功
    }
}

在你的資料庫名字後面加?characterEncoding=UTF-8,則可成功插入資料。

更多java知識請關注java基礎教學欄。

以上是java向mysql插入資料出現亂碼解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn