emoji符号保存到mysql

2015/09/03   
分类:  blog    django   

emoji是iso和Mac OS系统特有的一系列“表情符号”,当用户在输入框中加入emoji时,保存到服务器sql中,就可能存在保存不完整的情况了。

方法一:网上有很多方法都是修改字段、数据库的编码格式为utf8mb4

[mysql]
default-character-set=utf8mb4
[mysqld]
character-set-server=utf8mb4
重启MySQL使配置生效,其实可以完全通过set names的方式实现这个调整,我这样做的目的是为了不改变代码,平滑过渡。

修改对应字段的编码格式
ALTER TABLE `表名` CHANGE COLUMN `字段名` `字段名` 类型(长度) CHARACTER SET utf8mb4 

比如:
ALTER TABLE `test`.`test1` CHANGE COLUMN `name` `name` varchar(50) CHARACTER SET utf8mb4 DEFAULT NULL;

建议只是个别字段开通,全表开通的方式:
alter table 表名 convert to character set utf8mb4 collate utf8mb4_bin;

自己试了一下,貌似也没效果,保存后部分emoji符号式???了,差评。

方法二:自己找了个方法,就是把文字内容保存为二进制。

#django中,其他的没修改,哈哈
models.BinaryField()

简单记录,记录自己的存在感


本文地址 http://www.0kai.net/blog/2015/09/03/40-emoji-to-mysql.html,转载请注明!