MySql之输入Emoji表情
2015-11-29 19:50
483 查看
开发的app里遇到一个问题,用户输入Emoji表情就会发表东西失败,查日志发现数据库会报错,类似这样
java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x97\xF0\x9F...' for column 'CONTENT' at row 1
好吧,网上搜了一圈,说是字符集不行,
详细解释在这里Emoji表情符兼容方案
既然说了utf8的字符集不行,那就去改字符集,统统改成utf8mb4。
1.先去修改表字段字符集为utf8mb4:
ALTER TABLE UGC_REVIEW_CONTENT MODIFY `CONTENT` TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '评论内容';
2.再去修改表字符集utf8mb4:
ALTER TABLE UGC_REVIEW_CONTENT CHARSET=utf8mb4 COMMENT='晒单/推荐的评论内容';
3.再去修改数据库的字符集utf8mb4:
init-connect='SET
NAMES utf8mb4'
character-set-server=utf8mb4
一切就绪,重启mysql服务
再查看数据库字符集
mysql> show variables like
'%char%';
+--------------------------+----------------------------------+
| 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 |
| character_sets_dir | /usr/local/mysql/share/charsets/ |
+--------------------------+----------------------------------+
再试试发表情
![](http://static.blog.csdn.net/xheditor/xheditor_emot/default/proud.gif)
好啦,问题解决!
ps:如果以上方法下来并未能成功的话,一定是你的mysql配置没改好,那么请参考下面这篇文章,绝对妥妥的。
如何修改MySQL字符集
java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x97\xF0\x9F...' for column 'CONTENT' at row 1
好吧,网上搜了一圈,说是字符集不行,
详细解释在这里Emoji表情符兼容方案
既然说了utf8的字符集不行,那就去改字符集,统统改成utf8mb4。
1.先去修改表字段字符集为utf8mb4:
ALTER TABLE UGC_REVIEW_CONTENT MODIFY `CONTENT` TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '评论内容';
2.再去修改表字符集utf8mb4:
ALTER TABLE UGC_REVIEW_CONTENT CHARSET=utf8mb4 COMMENT='晒单/推荐的评论内容';
3.再去修改数据库的字符集utf8mb4:
init-connect='SET
NAMES utf8mb4'
character-set-server=utf8mb4
一切就绪,重启mysql服务
再查看数据库字符集
mysql> show variables like
'%char%';
+--------------------------+----------------------------------+
| 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 |
| character_sets_dir | /usr/local/mysql/share/charsets/ |
+--------------------------+----------------------------------+
再试试发表情
![](http://static.blog.csdn.net/xheditor/xheditor_emot/default/proud.gif)
好啦,问题解决!
ps:如果以上方法下来并未能成功的话,一定是你的mysql配置没改好,那么请参考下面这篇文章,绝对妥妥的。
如何修改MySQL字符集
相关文章推荐
- MySql修改数据库,表和字段的字符集
- mysql循环结构
- Ubuntu15.10 安装MySQL 5.7.9
- Mysql自动备份脚本
- 让MySql支持Emoji表情(MySQL中4字节utf8字符保存方法)
- MYSQL 备份用户权限
- MySQL Innodb数据库性能实践——合适的表记录数
- MySQL数据库update更新子查询
- mysql 5.7.9 安装问题
- mysql数据完整性测试
- mysql关联删除
- 命令行卸载Mac中MySql
- mysql 组合索引
- 【MySQL】——服务无法启动
- ofbiz连接本地mysql的配置教程
- [MySQL]MYSQL: Cannot delete or update a parent row: a foreign key constraint fails
- MYSQL数据丢失讨论
- Mysql数据操作语言DML(data management language)
- os x 10.10.5下用brew安装mysql
- Mysql常用命令详解