MYSQL JDBC java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x8D' for column 'name' 问题解决方法

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

编辑于

关注时代Java

关注时代Java