String url ="jdbc:mysql://localhost:3306/u?useUnicode=true&characterEncoding=utf8&useBlobToStoreUTF8OutsideBMP=true&utf8OutsideBmpIncludedColumnNamePattern=a"; connection = DriverManager.getConnection(url, username, password); Statement stmt = connection.createStatement(); ResultSet rs = stmt.executeQuery("select * from t where a like '你%'"); while (rs.next()) { // String name = new String(rs.getBytes("a"), "UTF-8"); String name = rs.getString("a"); System.out.println(name); } stmt.close(); connection.close
试过 insert t values(0xF0A38D98); select hex(a) from t,数据存取均正常。
String url ="jdbc:mysql://localhost:3306/u?useUnicode=true&characterEncoding=utf8&useBlobToStoreUTF8OutsideBMP=true&utf8OutsideBmpIncludedColumnNamePattern=a"; connection = DriverManager.getConnection(url, username, password); Statement stmt = connection.createStatement(); ResultSet rs = stmt.executeQuery("select * from t where a like '你%'"); while (rs.next()) { // String name = new String(rs.getBytes("a"), "UTF-8"); String name = rs.getString("a"); System.out.println(name); } stmt.close(); connection.close