怎么解决java向mysql数据库插入数据时出现乱码
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向mysql插入数据出现乱码解决方法的详细内容,更多请关注创新互联其它相关文章!
文章题目:怎么解决java向mysql数据库插入数据时出现乱码
转载来源:http://www.jxjierui.cn/article/jijejp.html


咨询
建站咨询
