[HY000][1366] Incorrect string value: ‘å¼ ä¸‰‘ for column ‘name‘ at row 1

常见原因

  1. 字符集不兼容

    • 插入的数据包含当前字符集(如 latin1)不支持的特殊字符(如中文、Emoji 等)。

    • 表、列或连接的字符集未正确配置为支持目标字符(如未使用 utf8mb4)。

  2. 客户端/服务端编码不一致

    • 客户端连接时未指定正确的字符集,导致传输数据与服务端预期不符。
  3. 无效字符或二进制数据

    • 试图插入无法被当前字符集解析的二进制数据。

解决方案

检查数据库和连接的字符集

复制代码
SHOW VARIABLES LIKE '%database';

需修改数据库配置(需管理员权限)

复制代码
ALTER DATABASE rainbow CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

配置连接字符集

在连接 MySQL 时指定字符集(以 JDBC 为例):

jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=UTF-8

修改表的默认字符集

复制代码
ALTER TABLE employees CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

重启数据库 我用的系统是红帽

service mysqld status

service mysqld restart

问题解决

utf8mb4 数据库字符集

特性 utf8 (MySQL) utf8mb4 (MySQL)
Unicode 版本 仅支持 Basic Multilingual Plane (BMP),即 U+0000 到 U+FFFF 支持 完整 Unicode ,包括 Supplementary Planes(扩展字符集,如 Emoji、古文字、特殊符号等),即 U+0000 到 U+10FFFF
存储容量 每个字符最多 3 字节 每个字符最多 4 字节
实际标准 不符合 UTF-8 规范(存在历史遗留问题)

生僻字

特别是生产 数据迁移改造 ,容易出现字节长度问题,因此设计表时需考虑使用场景。

​颛顼 (zhuān xū)​:五帝之一

​帝喾 (dì kù)​:上古帝王

​金兀术 (jīn wù zhú)​:金朝名将

​麴 (qū)​:姓氏(如麴义)

​彧 (yù)​:常用于人名(如荀彧)

sql 复制代码
INSERT INTO rainbow.employees (name, gender, age, income) VALUES  ('​麴', 'Male', 30, 5000.00);
INSERT INTO rainbow.employees (name, gender, age, income) VALUES  ('​彧三', 'Male', 30, 5000.00);


select  name ,length(name) from rainbow.employees;
相关推荐
weixin_511255213 小时前
MySQL升级记录
数据库·mysql
程序猿乐锅4 小时前
【黑马点评 | 第八篇】Redisson分布式锁
java·数据库·spring boot·redis·分布式·spring·缓存
Leo.yuan4 小时前
2026年本地化Data Agent优质厂商盘点:哪些产品更适合企业生产环境
大数据·数据库·人工智能
做运维的阿瑞5 小时前
数据库增删改的安全写法
数据库·sql·mysql
程序边界5 小时前
迁移评估不再拍脑袋,这个数据迁移工具的量化报告把我救了(上)
数据库
阿狗童鞋5 小时前
Redis实战指南
数据库·redis·缓存
lupai6 小时前
维修保养记录精准版 API 对接实战指南
数据库·python
2601_952196369 小时前
计算机科学与技术专业应届生投商业分析岗,需要哪些额外能力?
数据库·oracle
皮皮学姐分享-ppx9 小时前
地级市、省级人才政策强度测算(2000-2025)
大数据·数据库·人工智能·百度·高考
晚安日记wanna9 小时前
大厂禁 JOIN 的真正原因,拆到第四层才清楚
数据库·后端·面试