import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.StandardOpenOption; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; /** Verify fixed-reply seeds; writes UTF-8 report file (avoids Windows console garble). */ public class VerifyLobsterIntentKbMigration { private static final Path OUT = Path.of("d:/ylrz_saas_new/java/scripts/output/verify-fixed-reply.txt"); public static void main(String[] args) throws Exception { Class.forName("com.mysql.cj.jdbc.Driver"); String db = args.length > 0 ? args[0] : "fs_tenant_cs1"; String url = "jdbc:mysql://cq-cdb-8fjmemkb.sql.tencentcdb.com:27220/" + db + "?useSSL=false&serverTimezone=GMT%2B8&characterEncoding=utf8"; StringBuilder report = new StringBuilder(); report.append("database=").append(db).append('\n'); try (Connection c = DriverManager.getConnection(url, "root", "Ylrz_1q2w3e4r5t6y"); Statement st = c.createStatement()) { ResultSet rs = st.executeQuery( "SELECT match_key, HEX(reply_template), reply_template, CHAR_LENGTH(reply_template) " + "FROM lobster_fixed_reply_rule WHERE company_id=0 ORDER BY match_key"); while (rs.next()) { report.append(rs.getString(1)).append(" len=").append(rs.getInt(4)).append('\n'); report.append("HEX=").append(rs.getString(2)).append('\n'); report.append("TXT=").append(rs.getString(3)).append('\n'); report.append("---\n"); } } Files.createDirectories(OUT.getParent()); Files.writeString(OUT, report.toString(), StandardCharsets.UTF_8, StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING); System.out.println("Wrote " + OUT.toAbsolutePath()); } }