让mysql支持emoji表情存取的解决方案java
APP移动端无需作任何修改,服务端修改便可。mysql
第一步:修改jdbcUrl:sql
conn.url=jdbc:mysql://127.0.0.1:3306/eyes?zeroDateTimeBehavior=convertToNull&autoReconnect=true
第二步:mysql驱动包:数据库
mysql-connector-java-5.1.24.jar
第三步:数据库版本检查:app
select version() #查看mysql版本 5.6.23-log支持utf8mb4字符集
第四步:修改mysql配置文件 my.ini,正确配置为:测试
[mysql] default-character-set=utf8mb4 [mysqld] character-set-server=utf8mb4
修改完后重启mysql服务。url
第五步:检查是否修改为功,正确的mysql字符集为:code
****************************************server
character_set_database='utf8mb4';ci
character_set_server='utf8mb4';
collation_database='utf8mb4_unicode_ci';
collation_server='utf8mb4_unicode_ci';
****************************************
第六步:app端测试存取emoji表情:
app输入表情和中文并提交到后台保存:
后台mysql数据库表中记录:
app请求获取刚提交的emoji表情结果:OK!
注:若是通过上面操做仍没法存储emoji表情,修改表中字段对应的字符集为utf8mb4:
#例:修改t_doctor_visit_detail表中content字段支持emoji表情存取 SELECT * FROM t_doctor_visit_detail SHOW FULL COLUMNS FROM t_doctor_visit_detail; ALTER TABLE t_doctor_visit_detail CHANGE content content VARCHAR(900) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;