2

我得到了这个与 MySQL 交互的程序。当语句中出现非 ASCII 时,它可以工作,但行为很奇怪。我正在使用准备好的语句:

public ResultSet executeQuery(Connection _conn, int _val1, String _val2) throws SQLException {
    PreparedStatement stmt = _conn.prepareStatement("SELECT c.name  FROM categories c,languages l WHERE c.language = l.id AND c.user = ? AND l.name = ?;");
    stmt.setInt(1, _val1);
    stmt.setString(2, _val2);
    return stmt.executeQuery();
}

除非我在 _val2 中使用类似“čččč”的东西,否则它工作正常。问题出在 Java 中,因为当我准备将语句打印到标准输出时,这些字符只是“????”。有什么建议么?

4

1 回答 1

5

尝试将characterEncoding=UTF-8参数添加到 JDBC 连接 URL 的末尾。甚至将表和列字符集设置为UTF-8。这篇文章解释了如何做到这一点。

于 2013-06-15T14:22:16.240 回答