欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java連接mysql亂碼

錢斌斌2年前11瀏覽0評論

在Java中連接MySQL時,經常出現亂碼的問題。原因是MySQL的默認編碼是utf8,而Java的默認編碼是ISO-8859-1。因此,需要對Java程序進行編碼設置,以避免亂碼問題的出現。

Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8", "root", "password");
stmt = conn.prepareStatement("select * from users where username = ?");
stmt.setString(1, "張三");
rs = stmt.executeQuery();
while (rs.next()) {
String name = rs.getString("username");
System.out.println("姓名:" + name);
}
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}

在上面的代碼中,我們可以看到在連接MySQL時,使用了如下URL:

jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8

其中,useUnicode=true表示使用Unicode編碼,characterEncoding=utf-8表示使用UTF-8編碼方式。

此外,在對數據庫進行操作時,我們可以使用如下方式進行編碼設置:

stmt = conn.prepareStatement("select * from users where username = ?");
stmt.setString(1, "張三");

在設置參數時,我們可以使用Java中的字符串類型來表示中文字符。而在數據庫中的存儲,也應該使用UTF-8編碼方式,以避免出現亂碼問題。

最后,要記得在程序退出時關閉數據庫相關的資源,以確保程序能夠正常運行,同時也避免資源浪費。