MySQL 插入中文生僻字报错解决方案

当MySQL插入中文生僻字时会出现以下报错:

ERROR 1366 (HY000): Incorrect string value: '\xE6\x96\xB0\xE9\x97\xBB...' for column 'xxx' at row 1

解决方案:

第一步:修改 my.ini 配置

[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'

修改完成后重启MySQL;

第二步:修改表编码格式

将表的编码格式修改为:utf8mb4

第三步:修改字段编码格式

将字段的编码格式修改为:utf8mb4-unicode-ci

其他:

如果无法修改MySQL配置文件,则在插入之前执行SET NAMES语句,具体如下:

SET NAMES utf8mb4;
INSERT INTO rpa_tuisongxiansuo (STORE,ZYLXR,CREATED_DATE) VALUES ('测试',"林?羿洋",'2021-11-11');
上一篇
下一篇