我已经将列类型设置为utf8mb4,将列表设置为utf8mb4_bin。表默认值也为UTF8MB4和UTF8MB4_BIN。
当我使用sequelpro手动将表情符号"🤖"添加到数据库时,它可以正常工作。
但是,当我使用JDBC进行插入时,它会给我错误的字符串值错误。
这是我的连接字符串:jdbc:mysql://localhost:3306/myschema
我正在使用mysql-connector-java-5.1.32-bin.jar
我在做什么错?
这是我正在使用的一些代码:
String sql = "INSERT INTO table VALUES (?)"
String body = ...;
statement = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
statement.setString(1, body)
statement.execute();
我弄清楚了。我需要将characterEncoding=UTF-8
放入JDBC连接URL。
在此处阅读更多信息:https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-charsets.html