3

如果我有来自 java 的这个查询:

String query="insert into user (..., name, ...) values (..., 'à', ...)";
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/Spinning?user=root");
PreparedStatement prest = con.prepareStatement(query);
prest.executeUpdate();

在数据库中,我会有一个奇怪的字符:里面有一个问号的钻石。

这个问题有什么解决办法吗?

4

2 回答 2

3

将您的连接网址更改为以下内容:

jdbc:mysql://localhost/Spinning?user=root&useUnicode=true&characterEncoding=utf8
于 2013-02-07T11:16:22.663 回答
1
  1. 验证您在 MySQL DB 中使用的字符集。您可以尝试使用 " SHOW CREATE TABLE xxxx" 打印使用 charset 的表 DDL。
  2. 验证您在 JDBC 驱动程序中使用的字符集。如果使用 MySQL ConnectorJ,,您可以在 JDBC url 中设置字符集。
于 2013-02-07T11:15:11.290 回答