站长资讯网
最全最丰富的资讯网站

java向mysql插入数据出现乱码解决方法

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,则可成功插入数据。

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号