Jdbc + Mysql数据库保存emoji表情 😋 时报错:
Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x8D' for column 'name'
MYSQL navicat 客户端写入没有问题,但是使用JDBC写入时报上述错误。
这说明JDBC的问题。
需要在代码里加上:
stmt.executeUpdate("SET names utf8mb4");完整代码如下:
Connection conn = DB.getConnection();
PreparedStatement stmt = null;
try {
String sql = "insert into tablename (id, title, content) values (?, ?, ?)";
stmt = conn.prepareStatement(sql);
stmt.executeUpdate("SET names utf8mb4");
stmt.setInt(1, id);
stmt.setString(2, title);
stmt.setString(3, content);
&n即可解决问题。
本文系作者在时代Java发表,未经许可,不得转载。
如有侵权,请联系nowjava@qq.com删除。