Java在MySQL中存储emoji表情

Window目录:
mysql/my.ini

Ubuntu16.04目录:
/etc/mysql/conf.d/mysql.cnf 配置Client
/etc/mysql/mysql.conf.d/mysql.cnf 配置Server

其他目录:
一般在etc/mysql/my.cnf

在mysql配置文件添加以下三部分内容:

[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='SETNAMESutf8mb4'

修改完后重启mysql,检查字符集

#mysql-uroot-p
#mysql>SHOWVARIABLESWHEREVariable_nameLIKE'character_set_%'ORVariable_nameLIKE'collation%';

结果

+--------------------------+--------------------+
|Variable_name      |Value       |
+--------------------------+--------------------+
|character_set_client  |utf8mb4      |
|character_set_connection|utf8mb4      |
|character_set_database |utf8mb4      |
|character_set_filesystem|binary      |
|character_set_results  |utf8mb4      |
|character_set_server  |utf8mb4      |
|character_set_system  |utf8       |
|collation_connection  |utf8mb4_unicode_ci|
|collation_database   |utf8mb4_unicode_ci|
|collation_server    |utf8mb4_unicode_ci|
+--------------------------+--------------------+
rowsinset(0.00sec)

Java链接配置

jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.jdbcUrl=jdbc:mysql://localhost:3306/tgb?useUnicode=true&characterEncoding=utf8&autoReconnect=true&rewriteBatchedStatements=TRUE
jdbc.user=root
jdbc.password=
jdbc.initialPoolSize=10
jdbc.minPoolSize=10
jdbc.maxPoolSize=50
jdbc.maxIdleTime=3600
jdbc.testConnectionOnCheckout=false
jdbc.testConnectionOnCheckin=true
jdbc.idleConnectionTestPeriod=3600

:http://www.linuxidc.com/Linux/2017-10/147222.htm