关于 mysql 的 utf8 与 utf8mb4

参阅(推荐翻墙打开,国内译文在此 http://ju.outofmemory.cn/entry/359647) https://medium.com/@adamhooper/in-mysql-never-use-utf8-use-utf8mb4-11761243e434

参阅 https://bbs.csdn.net/topics/320152831 3楼回复

 

mysql中 utf8 编码最大支持3字节,并不是真正的utf-8编码。

而 utf8mb4 最大支持4字节,属于真正范畴内的utf-8编码。

utf8mb4编码可额外支持部分少见汉字及emoji表情,譬如

?

 

推荐mysql使用utf8mb4编码替代utf8编码,但对实际数据库查询插入及占用空间的影响并未测试。

还需注意一点,需以utf8mb4处理数据是,脚本程序的连接时使用编码都要改为utf8mb4。

 

在使用时还发现一点:

在windows上使用python mysqldb 连接指定utf8mb4编码时会报错

2019, "Can't initialize character set utf8mb4 (path: C:\\mysql\\\\share\\charsets\\)"

猜测可能与windows上mysql版本或是使用的wheel有关,但并未实际证实。

在linux上运行同样的指定utf8mb4编码脚本则没有任何问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值