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
相关推荐
许彰午1 小时前
28-ORA-01110数据文件读取错误
数据库·oracle
凯凯姜1 小时前
MySQL 联合索引设计与索引失效
数据库·mysql
猫咪很可爱2 小时前
Oracle TEMP 表空间不足(ORA-01652)问题分析与优化实践
数据库·oracle
九零HTTP3 小时前
10月21号-CSDN配菜-IP池的5个坑
服务器·数据库·tcp/ip
Data-Miner3 小时前
需要做财务数据分析,有什么好用的工具?从准备到出报告的实操指南
大数据·数据库·数据分析
袋鼠云数栈4 小时前
让 SQL 解析不再重复造轮子:SqlParserX 正式开源
数据库·人工智能·sql·开源·数据治理
这个DBA有点耶4 小时前
期货 CTP 系统 Oracle RAC 迁移国产库实战:读写分离架构设计与性能对标
数据库·架构·dba
xiaoshiquan12064 小时前
Gradle 复合构建:宿主项目直接依赖 SDK 源码模块的配置实践
android
数据库安全4 小时前
AI数据访问安全 |如何控制AI访问权限,防止越权
数据库·安全
小羊没烦恼!5 小时前
异步编程:线程概述及使用
java·开发语言·mysql·算法·c#