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-8JDBC 接続 URL の末尾にパラメータを追加してみてください。テーブルと列の文字セットをUTF-8 に設定することもできます。この記事では、その方法について説明します。

于 2013-06-15T14:22:16.240 に答える