【发布时间】:2017-04-11 12:10:42
【问题描述】:
这是我创建连接的方式:
Class.forName("com.mysql.jdbc.Driver");
Properties properties = new Properties();
properties.setProperty("user", "root");
properties.setProperty("password", "PASSWORD");
properties.setProperty("useSSL", "false");
properties.setProperty("autoReconnect", "true");
properties.setProperty("useUnicode", "true");
properties.setProperty("characterEncoding", "UTF-8");
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost/coolpoop", properties);
PreparedStatement statement = connection.prepareStatement("SET NAMES 'utf8'");
statement.execute();
statement = connection.prepareStatement("SET CHARACTER SET utf8");
statement.execute();
表:
插入:
PreparedStatement state = Mysql.conn().prepareStatement("insert into contents(campaignId, site_id, original_article_id, title, content) values(-1, -1, -1, ?, ?)");
state.setString(1, "acbdąčęėįšųū");
state.setString(2, "acbdąčęėįšųū");
state.execute();
结果:
怎么了?
【问题讨论】:
-
你的数据库编码是什么?可以通过 db 客户端插入 UTF-8 符号吗?
-
@BorysZibrov 检查 EDIT1。没有检查数据库编码,但我怀疑应该没问题,如果我可以通过 phpMyAdmin 插入
-
是的,那么 db 就可以了,谢谢
-
您的 .java 源文件是否使用 UTF-8 编码保存?
-
戈德,你是对的!谢谢大佬。
标签: sql jdbc unicode utf-8 utf8mb4