文章转载:http://dbaplus.cn/news-11-1417-1.html
Emoji 表情符号录入 MySQL 数据库中报错:
Caused by: java.sql.SQLException: Incorrect string value: '😗ðŸ...' for column 'CONTENT' at row 1
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4096)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4028)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2490)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2651)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2734)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1379)
解决思路:针对表情插入的问题,一定还是字符集的问题。
处理方法:我们可以直接在参数文件中,加入:
vim /etc/my.cnf
[mysqld_safe]
init-connect='SET NAMES utf8mb4'
character-set-server=utf8mb4
[mysqld]
init-connect='SET NAMES utf8mb4'
character-set-server=utf8mb4
注:utf8mb4 是 utf8 的超集。