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删除。