长春 行业网站,2021良心网址,软件开发外包服务公司,为什么一个网站外链那么多柠檬(图片)派 有个玩家取了个名字#xff0c;名字里带柠檬的图片。在发邮件的时候#xff0c;要把玩家名字拼装成json格式#xff0c;存储在mysql表中。 C代码和python代码处理都是正常的#xff0c;但是调用pymysql的接口#xff0c;执行sql写入到mysql时。 pymysql会报错…柠檬(图片)派 有个玩家取了个名字名字里带柠檬的图片。在发邮件的时候要把玩家名字拼装成json格式存储在mysql表中。 C代码和python代码处理都是正常的但是调用pymysql的接口执行sql写入到mysql时。 pymysql会报错Warning:(1366, Incorrect string value: ‘\xF0\x9F\xBD\x8B…’ for column ‘param2’ at row 1 ) 原因是这张图片是utf8的并且占用4个字节。 而mysql由于历史原因不能修改已发布的数据库来完美的兼容utf8。所以自己搞了个utf8mb4支持4字节。 mysql的utf8能支持3字节的utf8。但4字节的utf8来了mysql的utf8无法支持会导致截断问题。所以要把表格和列的字符集设置为utf8mb4。
正确来说要在数据库表中显示柠檬(图片)派
alter table t_mail_personal charsetutf8mb4 collateutf8mb4_unicode_ci; # 修改表的字符集 show full columns from t_mail_personal #显示所有列的字符集 alter table t_mail_personal modify column param2 varchar(1024) character set utf8mb4 collate utf8mb4_unicode_ci; #修改列的字符集 show variables like character%; #显示当前数据库的字符集