【发布时间】:2013-06-12 01:14:39
【问题描述】:
我得到了这个与 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 中,因为当我准备将语句打印到标准输出时,这些字符只是“????”。有什么建议吗?
【问题讨论】:
-
当它不起作用时会发生什么?并且不要被控制台所迷惑,您可能需要将其配置为显示 ANSI 以外的其他字符集。
标签: java mysql encoding prepared-statement