mysql에 데이터를 삽입할 때 왜곡된 물음표 문제에 대한 Java 솔루션: (권장: java 비디오 튜토리얼)
Java는 데이터베이스에 데이터를 삽입하고 왜곡된 물음표가 나타나는지 확인합니다. 데이터베이스가 올바른지 확인하려면 데이터베이스에 명령문을 삽입하여 중국어가 정상적으로 표시될 수 있는지 확인하십시오. 정상적으로 표시되면 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!