MySQL写入用户微信名

2018-06-18 01:21:14来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

很简单的需求,将用户微信名写入MySQl即可,但是测试过程中却遇到了问题,微信名中的emoji写入数据库失败。解决步骤如下

 

1.了解utf8mb4

MySQL从5.5.3版本开始支持utf8mb4编码,默认编码还是utf8。目前最新的MySQL的默认编码已经改为utf8mb4了,因为utf8可以表示三字节的unicode,无法表示emoji表情或是特别复杂的汉字这类四字节unicode。理论上原本utf8的字符集修改为utf8mb4是不会有问题的,为了更好的兼容性可以选择utf8mb4。当然,本着节省空间的原则,我们还是可以优先使用utf8。

 

2.修改MySQL数据库

首先查看数据库的字符集,show variables like 'character_set_database';

查询结果为utf8,既然系统已经出现了字符集的兼容性的问题,那干脆改为utf8mb4吧

修改MySQL配置文件my.cnf

[mysqld]

 character-set-server = utf8mb4 

init_connect='SET NAMES utf8mb4'

然后重启MySQL即可

 

3.修改数据表字符集

ALTER TABLE TABLENAME CHARSET=utf8mb4

 

4.修改业务代码

在连接数据库时,一般都显示指定了字符集,需要修改为utf8mb4,charset=utf8mb4

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:翻译:low_priority和high_priority(已提交到MariaDB官方手册)

下一篇:数据库简介