背景
系统:centos 7.6
数据库版本:MySQL8.0
发现问题
Python 使用Pymysql更新数据库时,遇到未知字符。
问题解决
当前列使用类型为longtext;utf8_general_ci
由于传入的字符包括各种符号、各种汉字之类的,utf8明显无法满足业务需求。
因此修改当前列为utf8mb4_general_ci,问题解决
扩展说明
参考MySQL8.0手册可以发现
https://dev.mysql.com/doc/refman/8.0/en/charset-unicode-utf8mb4.html
- utf8mb4是4位的utf8编码,而通常utf8为三位,utf8mb4可以理解为utf8的超集。
- 支持扩展编码以及BMP