MySQL 1366 - Incorrect string value:错误

MySQL 1366 - Incorrect string value:错误

错误

如何发生

  在给MySQL添加数据的时候发生了下面的错误

mysql 复制代码
insert into sys_dept values(100,  0,   '0',          '若依科技',   0, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null)
> 1366 - Incorrect string value: '\xE8\x8B\xA5\xE4\xBE\x9D...' for column 'dept_name' at row 1
> 时间: 0.002s 

发生原因:

  无法正确存储中文字符,这通常是由于字符集配置不完整导致的

解决方法

第一种尝试

  直接复制粘贴下面的代码就行

记得将数据库名换成你的数据库名称

sql 复制代码
ALTER DATABASE 数据库名 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; 
set character_set_database = utf8mb4
set character_set_server = utf8mb4
set character_set_results = utf8mb4
set character_set_connection= utf8mb4
set character_set_client = utf8mb4 

第二种尝试

  打开 my.ini配置

我默认的是这样的:

sql 复制代码
[mysql]
default-character-set=utf8 
[mysqld]
basedir=D:\MySQL\mysql-5.7.18-winx64
datadir=D:\MySQL\mysql-5.7.18-winx64\data
port=3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
secure_file_priv=default-time_zone = '+8:00'

后面我改成这样就成功了:

sql 复制代码
[client]
#default-character-set=utf8mb4
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
[mysql]
default-character-set=utf8mb4

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
basedir=D:\MySQL\mysql-5.7.18-winx64
datadir=D:\MySQL\mysql-5.7.18-winx64\data
port=3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
secure_file_priv=
default-time_zone='+8:00'
max_connections=200
innodb_buffer_pool_size=1G
log-error=mysql-error.log
相关推荐
小白勇闯网安圈7 小时前
Django 响应对象、文件上传与类视图
数据库·django·sqlite
努力的小雨8 小时前
同一份 SQL 跑多套环境:Ksql 变量怎么用才安全
数据库
科技绘图8 小时前
快鲸GEO vs 传统AI搜索优化:全链路自动化与高效内容生产在转化闭环上的对比
数据库·人工智能·自动化
ltl8 小时前
数据库作为 LLM 记忆体:语义缓存、RAG 与一致性
数据库
ltl8 小时前
WAL 与崩溃恢复:ARIES 协议怎么跑通
数据库
ltl9 小时前
TEE 数据库:EnclaveDB、Oblivious 原语与机密 SQL
数据库
麻瓜code10 小时前
【Mysql】重新学一遍 SQL 执行顺序
数据库·sql
这个DBA有点耶10 小时前
数据库一体机架构演进:从硬件堆叠到软硬深度耦合
服务器·网络·数据库·硬件架构·运维开发·database·数据库架构
一只fish10 小时前
优化器架构对比:Oracle vs PostgreSQL vs MySQL
mysql·postgresql·oracle
安_11 小时前
RAG的向量数据库:为LLM提供语义搜索能力
数据库