MySQL 插入数据报错 Incorrect string value

当在sys_dict_data表中执行插入语句;

insert into sys_dict_data values(1,  1,  '男',       '0',       'sys_user_sex',        '',   '',        'Y', '0', 'admin', sysdate(), '', null, '性别男');

报错信息如下:

insert into sys_dict_data values(1,  1,  '男',       '0',       'sys_user_sex',        '',   '',        'Y', '0', 'admin', sysdate(), '', null, '性别男')
> 1366 - Incorrect string value: '\xE7\x94\xB7' for column 'dict_label' at row 1
时间: 0.001s

报错解释:在向sys_dict_data表中的插入数据时,字段dict_label,不支持UTF-8编码;

验证:查看表

SHOW CREATE TABLE sys_dict_data;

结果如下:

CREATE TABLE sys_dict_data (
dict_code bigint(20) NOT NULL AUTO_INCREMENT COMMENT ‘字典编码’,
dict_sort int(4) DEFAULT ‘0’ COMMENT ‘字典排序’,
dict_label varchar(100) DEFAULT ‘’ COMMENT ‘字典标签’,
dict_value varchar(100) DEFAULT ‘’ COMMENT ‘字典键值’,
dict_type varchar(100) DEFAULT ‘’ COMMENT ‘字典类型’,
css_class varchar(100) DEFAULT NULL COMMENT ‘样式属性(其他样式扩展)’,
list_class varchar(100) DEFAULT NULL COMMENT ‘表格回显样式’,
is_default char(1) DEFAULT ‘N’ COMMENT ‘是否默认(Y是 N否)’,
status char(1) DEFAULT ‘0’ COMMENT ‘状态(0正常 1停用)’,
create_by varchar(64) DEFAULT ‘’ COMMENT ‘创建者’,
create_time datetime DEFAULT NULL COMMENT ‘创建时间’,
update_by varchar(64) DEFAULT ‘’ COMMENT ‘更新者’,
update_time datetime DEFAULT NULL COMMENT ‘更新时间’,
remark varchar(500) DEFAULT NULL COMMENT ‘备注’,
PRIMARY KEY (dict_code)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT=‘字典数据表’

1.“CHARSET” 是字符集的意思,它定义了用于存储和检索数据的字符集。 “latin1” 是一种字符集,它支持包括英文字母、数字、特殊字符等在内的基本西欧字符。

2.在数据库中设置 “CHARSET=latin1” 表示您正在使用 latin1 字符集来存储和检索数据。这对于包含西欧字符的数据比较合适。

3.需要注意的是,latin1 字符集不支持诸如中文、日文等非西欧字符。如果您需要存储这类字符,可能需要选择支持多字节字符集(如 UTF-8)的数据库。

解决方案:

修改字符集,把sys_dict_data 表的字符集进行修改(语句如下)

ALTER TABLE sys_dict_data CONVERT TO CHARACTER SET utf8; --修改表的字符集

在这里插入图片描述

再看表结果:

CREATE TABLE sys_dict_data (
dict_code bigint(20) NOT NULL AUTO_INCREMENT COMMENT ‘字典编码’,
dict_sort int(4) DEFAULT ‘0’ COMMENT ‘字典排序’,
dict_label varchar(100) DEFAULT ‘’ COMMENT ‘字典标签’,
dict_value varchar(100) DEFAULT ‘’ COMMENT ‘字典键值’,
dict_type varchar(100) DEFAULT ‘’ COMMENT ‘字典类型’,
css_class varchar(100) DEFAULT NULL COMMENT ‘样式属性(其他样式扩展)’,
list_class varchar(100) DEFAULT NULL COMMENT ‘表格回显样式’,
is_default char(1) DEFAULT ‘N’ COMMENT ‘是否默认(Y是 N否)’,
status char(1) DEFAULT ‘0’ COMMENT ‘状态(0正常 1停用)’,
create_by varchar(64) DEFAULT ‘’ COMMENT ‘创建者’,
create_time datetime DEFAULT NULL COMMENT ‘创建时间’,
update_by varchar(64) DEFAULT ‘’ COMMENT ‘更新者’,
update_time datetime DEFAULT NULL COMMENT ‘更新时间’,
remark varchar(500) DEFAULT NULL COMMENT ‘备注’,
PRIMARY KEY (dict_code)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=‘字典数据表’

接着我们再执行插入语句–可以看到成功执行:
当在sys_dict_data表中执行插入语句;

insert into sys_dict_data values(1,  1,  '男',       '0',       'sys_user_sex',        '',   '',        'Y', '0', 'admin', sysdate(), '', null, '性别男');

报错信息如下:

insert into sys_dict_data values(1,  1,  '男',       '0',       'sys_user_sex',        '',   '',        'Y', '0', 'admin', sysdate(), '', null, '性别男')
> 1366 - Incorrect string value: '\xE7\x94\xB7' for column 'dict_label' at row 1
时间: 0.001s

报错解释:在向sys_dict_data表中的插入数据时,字段dict_label,不支持UTF-8编码;

验证:查看表

SHOW CREATE TABLE sys_dict_data;

结果如下:

CREATE TABLE sys_dict_data (
dict_code bigint(20) NOT NULL AUTO_INCREMENT COMMENT ‘字典编码’,
dict_sort int(4) DEFAULT ‘0’ COMMENT ‘字典排序’,
dict_label varchar(100) DEFAULT ‘’ COMMENT ‘字典标签’,
dict_value varchar(100) DEFAULT ‘’ COMMENT ‘字典键值’,
dict_type varchar(100) DEFAULT ‘’ COMMENT ‘字典类型’,
css_class varchar(100) DEFAULT NULL COMMENT ‘样式属性(其他样式扩展)’,
list_class varchar(100) DEFAULT NULL COMMENT ‘表格回显样式’,
is_default char(1) DEFAULT ‘N’ COMMENT ‘是否默认(Y是 N否)’,
status char(1) DEFAULT ‘0’ COMMENT ‘状态(0正常 1停用)’,
create_by varchar(64) DEFAULT ‘’ COMMENT ‘创建者’,
create_time datetime DEFAULT NULL COMMENT ‘创建时间’,
update_by varchar(64) DEFAULT ‘’ COMMENT ‘更新者’,
update_time datetime DEFAULT NULL COMMENT ‘更新时间’,
remark varchar(500) DEFAULT NULL COMMENT ‘备注’,
PRIMARY KEY (dict_code)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT=‘字典数据表’

1.“CHARSET” 是字符集的意思,它定义了用于存储和检索数据的字符集。 “latin1” 是一种字符集,它支持包括英文字母、数字、特殊字符等在内的基本西欧字符。

2.在数据库中设置 “CHARSET=latin1” 表示您正在使用 latin1 字符集来存储和检索数据。这对于包含西欧字符的数据比较合适。

3.需要注意的是,latin1 字符集不支持诸如中文、日文等非西欧字符。如果您需要存储这类字符,可能需要选择支持多字节字符集(如 UTF-8)的数据库。

解决方案:

修改字符集,把sys_dict_data 表的字符集进行修改(语句如下)

ALTER TABLE sys_dict_data CONVERT TO CHARACTER SET utf8; --修改表的字符集

再看表结果:

CREATE TABLE sys_dict_data (
dict_code bigint(20) NOT NULL AUTO_INCREMENT COMMENT ‘字典编码’,
dict_sort int(4) DEFAULT ‘0’ COMMENT ‘字典排序’,
dict_label varchar(100) DEFAULT ‘’ COMMENT ‘字典标签’,
dict_value varchar(100) DEFAULT ‘’ COMMENT ‘字典键值’,
dict_type varchar(100) DEFAULT ‘’ COMMENT ‘字典类型’,
css_class varchar(100) DEFAULT NULL COMMENT ‘样式属性(其他样式扩展)’,
list_class varchar(100) DEFAULT NULL COMMENT ‘表格回显样式’,
is_default char(1) DEFAULT ‘N’ COMMENT ‘是否默认(Y是 N否)’,
status char(1) DEFAULT ‘0’ COMMENT ‘状态(0正常 1停用)’,
create_by varchar(64) DEFAULT ‘’ COMMENT ‘创建者’,
create_time datetime DEFAULT NULL COMMENT ‘创建时间’,
update_by varchar(64) DEFAULT ‘’ COMMENT ‘更新者’,
update_time datetime DEFAULT NULL COMMENT ‘更新时间’,
remark varchar(500) DEFAULT NULL COMMENT ‘备注’,
PRIMARY KEY (dict_code)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=‘字典数据表’

接着我们再执行插入语句–可以看到成功执行:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/231815.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

快速入门opencv(python版)

Open Source Computer Vision Library。OpenCV是一个(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C 类构成,同时提供了Python、Ruby、MATLAB等语言的…

11月29日作业

自己封装一个矩形类(Rect)&#xff0c;拥有私有属性:宽度(width)、高度(height),定义公有成员函数: 初始化函数:void init(int w, int h) 更改宽度的函数:set_w(int w) 更改高度的函数:set_h(int h) 输出该矩形的周长和面积函数:void show() #include <iostream>using n…

【ZEDSLAM】Ubuntu18.04系统ZED 2i双目相机SDK安装、联合标定、SLAM测试

0.设备、环境和说明 笔记本电脑i5-8300H、GTX 1060、32GRAM 因为后面要测试Vins-Fusion和ORB-SLAM3&#xff0c;所以推荐安装Ubuntu 18.04&#xff08;或者Ubuntu 20.04&#xff09; ROS 1&#xff08;不建议用比Ubuntu18更低的版本&#xff09; ROS一键安装命令&#xff1a;…

命名管道:简单案例实现

&#x1f4df;作者主页&#xff1a;慢热的陕西人 &#x1f334;专栏链接&#xff1a;Linux &#x1f4e3;欢迎各位大佬&#x1f44d;点赞&#x1f525;关注&#x1f693;收藏&#xff0c;&#x1f349;留言 本博客主要内容讲解了什么是命名管道&#xff0c;匿名管道和命名管道的…

目标检测——R-CNN算法解读

论文&#xff1a;Rich feature hierarchies for accurate object detection and semantic segmentation 作者&#xff1a;Ross Girshick, Jeff Donahue, Trevor Darrell, Jitendra Malik 链接&#xff1a;https://arxiv.org/abs/1311.2524 代码&#xff1a;http://www.cs.berke…

拼图 游戏

运行出的游戏界面如下&#xff1a;按住A不松开&#xff0c;显示完整图片&#xff1b;松开A显示随机打乱的图片 User类 package domain;/*** ClassName: User* Author: Kox* Data: 2023/2/2* Sketch:*/ public class User {private String username;private String password;p…

easyrecovery如何恢复手机数据及硬盘数据恢复方法

EasyRecovery16是一款优秀的数据恢复软件&#xff0c;不仅能够兼容windows和mac双重系统&#xff0c;同时还能够识别u盘、存储卡、手机等多种数据储存设备&#xff0c;可恢复的文件类型更是多达百余种。还贴心地准备个人版、专业版和企业版的下载&#xff0c;增加了用户的可选性…

WordPress 外链跳转插件

WordPress 外链跳转插件是本站开发的一款WordPress插件&#xff0c;能对文中外链添加一层过滤&#xff0c;有效防止追踪&#xff0c;以及提醒用户。 类似于知乎、CSDN打开其他链接的提示。 后台可以设置白名单 学习资料源代码&#xff1a;百度网盘 密码&#xff1a;123

什么是主机安全,有什么作用?

当今数字化时代&#xff0c;网络安全威胁和风险日益突出&#xff0c;已成为企业面临的重大安全挑战。网络攻击者不断尝试利用各种技术和手段对企业网络资源进行探测和攻击&#xff0c;如&#xff1a;利用漏洞、木马、钓鱼、勒索等方式窃取数据、破坏系统、篡改信息。因此&#…

mybatis关于namespace以及id以及Mapper接口命名的说明(了解)

1、建库建表 CREATE DATABASE mybatis-example;USE mybatis-example;CREATE TABLE t_emp(emp_id INT AUTO_INCREMENT,emp_name CHAR(100),emp_salary DOUBLE(10,5),PRIMARY KEY(emp_id) );INSERT INTO t_emp(emp_name,emp_salary) VALUES("tom",200.33); INSERT INTO…

第十五届蓝桥杯(Web 应用开发)模拟赛 2 期-大学组(详细分析解答)

目录 1.相不相等 1.1 题目要求 1.2 题目分析 1.3 源代码 2.三行情书 2.1 题目要求 2.2 题目分析 2.3 源代码 3.电影院在线订票 3.1 题目要求 3.2 题目分析 3.3 源代码 4.老虎坤&#xff08;不然违规发不出来&#xff09; 4.1 题目要求 4.2 题目分析 4.3 源代码 …

操作系统面试题

操作系统 操作系统是管理计算机硬件和软件资源的程序&#xff0c;是系统软件 操作系统功能 进程和线程管理存储管理文件管理设备管理网络管理安全管理 用户态和内核态 用户态运行的进程可以直接读取用户程序的数据&#xff0c;权限较低内核态运行的进程几乎可以访问计算机…