mysql生僻字插入失败解决方案

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql生僻字插入失败解决方案相关的知识,希望对你有一定的参考价值。

当项目已经上线运行,原来编码统一为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

以上是关于mysql生僻字插入失败解决方案的主要内容,如果未能解决你的问题,请参考以下文章

Mysql书签

SQL SERVER 2008插入某些生僻字时显示是问号。

php 编码转换 乱码解决

当插入数据失败时,防止mysql自增长字段的自增长的方法

MySQL永久解决mysql插入中文失败问题

MySQL永久解决mysql插入中文失败问题