Press "Enter" to skip to content

遇到mysql utf8mb4的问题

之前msyql表都是utf8字符集,目前仓库系统出现了表情符号不显示,因为客户是定制项链,里面有❤️的各种表情符号,仓库不显示这些符号

分析发现因为字符集限制了存储不了,这些表情符号都是空了,找到对应的表字段修改修改字符集

alter table t_package_goods MODIFY `customizedText` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '商品定文字';

修改之后通过update sql 语句发现能存储,但是显示乱码,然后修改mysql 链接配置 字符集设置为utf8mb4,utf8mb4字符集包含了utf8 不影响,调整之后web页面不会乱码

调整配置之后发布测试环境,测试OK ,发布线上报错了,提示不存在utf8mb4字符集

线上服务器是php 7.1 ,google 错误需要 卸载php71w-mysql 换成php71w-mysqlnd

yum remove php71w-mysql
yum install php71w-mysqlnd
执行之后 重启php-fpm 没有报错了

Leave a Reply

Your email address will not be published. Required fields are marked *