java向數(shù)據(jù)庫插入數(shù)據(jù)出現(xiàn)問號的亂碼問題,首先確定數(shù)據(jù)庫的編碼格式是否正確,可以在MySQL的數(shù)據(jù)庫中insert一個語句看看是不是可以正常顯示中文,如果可以正常顯示,那么就是java連接數(shù)據(jù)庫的時候,沒有帶編碼訪問數(shù)據(jù)庫。
成都創(chuàng)新互聯(lián)專注于扎囊網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供扎囊營銷型網(wǎng)站建設(shè),扎囊網(wǎng)站制作、扎囊網(wǎng)頁設(shè)計、扎囊網(wǎng)站官網(wǎng)定制、微信平臺小程序開發(fā)服務(wù),打造扎囊網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供扎囊網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
解決方法
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 驅(qū)動名及數(shù)據(jù)庫 URL static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost:3306/dbname?characterEncoding=UTF-8"; // 數(shù)據(jù)庫的用戶名與密碼,需要根據(jù)自己的設(shè)置 static final String USER = "***"; static final String PASS = "***"; private Connection conn = null; public DBMySQL() { try { // 注冊 JDBC 驅(qū)動 Class.forName("com.mysql.jdbc.Driver"); // 打開鏈接 System.out.println("連接數(shù)據(jù)庫..."); 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;// 返回影響的行數(shù),1為執(zhí)行成功 } }
在你的數(shù)據(jù)庫名字后面加?characterEncoding=UTF-8,則可成功插入數(shù)據(jù)。
以上就是java向mysql插入數(shù)據(jù)出現(xiàn)亂碼解決方法的詳細(xì)內(nèi)容,更多請關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!