Mysql 1366 Incorrect string value:不正确的字符串值(编码格式)

文章目录

  • 1 解决办法
    • 1.1 修改当前表的字符编码:仅对当前表有效
    • 1.2 修改数据库的字符编码:对所有表有效
    • 1.3 建议:创建数据库时指定字符编码
  • 2 原因分析
  • 3 错误演示
  • 4 扩展
    • 4.1 查看 Mysql 版本
    • 4.2 查看数据库的字符编码
    • 4.3 查看表的字符编码

1 解决办法

1.1 修改当前表的字符编码:仅对当前表有效

alter table 表名 convert to character set utf8mb4 collate utf8mb4_unicode_ci;-- 查看是否修改过来
show create table 表名;

1.2 修改数据库的字符编码:对所有表有效

-- 修改数据库的字符编码(注意:set 命令重启数据库后失效!)
set character_set_database=utf8;
set character_set_server=utf8;-- 修改表的字符编码(与数据库一致)
ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8;-- 查看是否修改过来
SHOW VARIABLES LIKE '%character_set%';
show create table 表名;

1.3 建议:创建数据库时指定字符编码

-- 对所有表有效
create database 数据库名 character set utf8mb4 collate utf8mb4_unicode_ci;

2 原因分析

  • Mysql 版本默认使用的字符集不支持非 ASCII 字符的字符串
  • 根据 Mysql 版本和配置,可能使用的是 latin1 字符集。这些字符集不支持 Unicode 字符,因此在插入或更新数据时会出现错误

3 错误演示

-- 创建数据库(不指定字符编码)
create database db_demo;-- 创建测试表
create table char_test(sno int,sname varchar(50)
);-- 测试
insert into char_test(sno, sname) values(1, '张三');

在这里插入图片描述

4 扩展

4.1 查看 Mysql 版本

select version();

在这里插入图片描述

4.2 查看数据库的字符编码

SHOW VARIABLES LIKE '%character_set%';

在这里插入图片描述

4.3 查看表的字符编码

show create table char_test2;

在这里插入图片描述

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

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

相关文章

这些软件测试面试题竟然给7年工作经验的测试难住了!!!

120 15.6 App 稳定怎么做的? Monkey 怎么用(App 稳定测试)? 稳定性这块,我们当时用的是 SDK 自动的一个 Monkey 工具进行测试的,其实 Monkey 工具主要通过模 拟用户发送伪随机时间去操作软件,通过执行 Monkey 命令,它会自动出报…

day3_qt

完善对话框,点击登录对话框,如果账号和密码匹配,则弹出信息对话框,给出提示”登录成功“,提供一个Ok按钮,用户点击Ok后,关闭登录界面,跳转到其他界面 如果账号和密码不匹配&#xf…

Playground v2:a new leap in creativity

https://huggingface.co/playgroundai/playground-v2-1024px-aesthetichttps://huggingface.co/playgroundai/playground-v2-1024px-aestheticPlayground v2:超越SDXL的模型来了 - 知乎Playground团队刚刚发布了新的文生图模型Playground v2,它是基于SDX…

【Unity】Addressable包资源加载失败:CRC Mismatch.

Error while downloading Asset Bundle: CRC Mismatch. 是资源下载校验失败,但是资源和上次打包的资源是一样的。没有排查到原因,在谷歌搜索后看到 大概就是指Unity版本修改后打包,会破坏原来的CRC信息,导致导报出来的资源无法通…

吃到“政务大模型”的第一口螃蟹,大湾区实现改革破题

文|刘雨琦 编|王一粟 生活垃圾分类标准实施之后,如何有效提升垃圾分类的成效成为摆在众多城市管理者的“老大难”问题。广州白云区城市管理和综合执法局党组书记、局长郑柏生有一个“小妙招”:“我们运用科技手段首创云站桶值守模式&#xf…

软件测试BUG管理神器——禅道

背景与用途 使用背景 针对开发的产品进行BUG质量管理,通过需求、任务、bug来进行交相互动,终通过项目拿到合格的产品! 场景介绍 测试人员提出bug -> 开发人员解决bug -> 测试人员验证关闭 下载安装 一、搜索禅道官网 1.1在浏览器搜索…

sql事务

事务 事务是并发控制的单位,是用户定义的一个操作序列。 MySQL 事务主要用于处理操作量大,复杂度高的数据。 在 MySQL 中,事务是一组SQL语句的执行,它们被视为一个单独的工作单元。 但是在 MySQL 中只有使用了 Innodb 数据库引擎…

基于Jedis来探讨池化技术

为什么需要池化技术 系统运行时必然是需要数据库连接、线程等一些重量级对象,频繁的创建这种对象对性能有着不小的开销,所以为了减少没必要的创建和开销,我们就用到了池化技术。 通过创建一个资源池来保存这些资源便于后续的复用&#xff0c…

qt 使用百度在线地图 方法2

使用百度在线地图两个关键点&#xff0c;一是html页面准备&#xff1b;二是qt 与js 语言的交互。 1&#xff0c;html页面的准备&#xff0c;双击页面就可以出现如下效果。 主要代码&#xff1a; <!DOCTYPE html> <html> <head><meta http-equiv"C…

Python常见面试知识总结(一):迭代器、拷贝、线程及底层结构

前言&#xff1a; Hello大家好&#xff0c;我是Dream。 今天来总结一下Python和C语言中常见的面试知识&#xff0c;欢迎大家一起前来探讨学习~ 【一】Python中迭代器的概念&#xff1f; 可迭代对象是迭代器、生成器和装饰器的基础。简单来说&#xff0c;可以使用for来循环遍历…

vector类

> 作者简介&#xff1a;დ旧言~&#xff0c;目前大二&#xff0c;现在学习Java&#xff0c;c&#xff0c;c&#xff0c;Python等 > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;熟悉vector库 > 毒鸡汤&#xff1a;从人生低谷…

物料分类帐概览

原文地址&#xff1a;Overview: What is SAP Material Ledger? | SAP Blogs 物料分类账是收集物料主数据存储在物料主数据中的物料交易数据的工具。 物料分类帐使用此数据来计算价格以评估这些物料。 物料台账是实际成本核算的基础。它允许以多种货币对材料库存进行评估&am…