当项目已经上线运行,原来编码统一为utf8 一时间全部表字段一个一个修改为utf8mb4 很麻烦
想达到的目的是只修改可能存在生僻字的字段:
1、修改可能存在生僻字插入的字段,例如:
ALTER TABLE news
CHANGE title
title
VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '标题';
这里除了修改字符集之外,需要加大存储
2、设置mysql字符集:
mysql> set character_set_client=utf8mb4;
mysql> set character_set_connection=utf8mb4;
mysql> set character_set_database=utf8mb4;
3、PHP 连接mysql 也设置为 utf8mb4,否则读取生僻字只显示一个问号
完成以上三步即可
当然理想的设置是 所有数据库 表 字段,php程序,统一设置为utf8mb4