解决Java和MySQL存储emoji表情问题

264 阅读1分钟

报错1:Incorrect string value: '\\xF0\\x9F\\x98\\x82' for column 'content' at row 1

报错2:数据库存储已经不报错了但是存进去的是个(?)问号

1.需要改变数据库的连接

jdbc:mysql://localhost:3306/myDatabase?useUnicode=true&characterEncoding=utf-8

2.修改mysql的配置文件(/mysql/mysql.cnf)

[client]
default-character-set=utf8mb4
 
[mysql]
default-character-set=utf8mb4
 
[mysqld]
character-set-client-handshake=FALSE
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'

3.使用navicat for mysql修改:数据库、表、字段的字符集

(一)修改:数据库

image.png

(二)修改:表

image.png

(三)修改:字段

image.png

全部重启。over