
Java
Javaimport Java.sql.*;public class Utf8Example { public static void mAIn(String[] args) { Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { // 连接到MySQL数据库 conn = DriverManager.getconnection("jdbc:MySQL://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8", "root", "password"); // 创建表 String createTableSql = "CREATE TABLE IF NOT EXISTS users (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50)) CHARACTER SET=utf8 COLLATE=utf8_unicode_ci;"; pstmt = conn.prepareStatement(createTableSql); pstmt.execute(); // 插入数据 String insertDataSql = "INSERT INTO users (name) VALUES (?);"; pstmt = conn.prepareStatement(insertDataSql); pstmt.setString(1, "张三"); pstmt.execute(); // 查询数据 String queryDataSql = "SELECT * FROM users;"; pstmt = conn.prepareStatement(queryDataSql); rs = pstmt.executeQuery(); while (rs.next()) { System.out.println(rs.getInt("id") + " " + rs.getString("name")); } } catch (SQLException e) { e.printStackTrace(); } finally { try { if (rs != null) { rs.close(); } if (pstmt != null) { pstmt.close(); } if (conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } }}配置MySQL的字符集在上述代码中,我们可以看到在连接MySQL数据库时,使用了以下参数进行字符编码的配置:Javajdbc:MySQL://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8这里的
useUnicode=true表示使用Unicode字符编码,characterEncoding=UTF-8表示使用UTF8字符编码。同时,我们还可以在创建表时指定字符集和校对规则,确保数据存储和读取的一致性。JavaCREATE TABLE IF NOT EXISTS users (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50)) CHARACTER SET=utf8 COLLATE=utf8_unicode_ci;在上述代码中,我们使用了
CHARACTER SET=utf8 COLLATE=utf8_unicode_ci来指定使用UTF8字符编码和校对规则。在使用Java和MySQL进行开发时,正确处理UTF8字符编码问题是非常重要的。通过正确地配置字符编码,可以避免出现乱码等问题,确保数据的存储和读取的一致性。同时,在创建表时指定字符集和校对规则,也是保证数据一致性的重要步骤。希望本文对你解决Java+MySQL UTF8问题有所帮助!Copyright © 2025 IZhiDa.com All Rights Reserved.
知答 版权所有 粤ICP备2023042255号