FAQ:ERROR 1366 (HY000)的utf8中文乱码问题
异常描述
在mysql中当创建的数据库表中有字段类型为char时,当插入数据为中文时,出现了以下以下异常情况:
输入代码如下:
create table test4(id int(11),name char(10),dtae datetime,singin tinyint(4));
insert into test4 values(2,'张三','2020-11-18 15:00:00',4);
异常原因
出错原因:检查数据库此字段的字符集与整理字符集是否与SQL语句传递数据的字符集相同;不相同则会引发MySQL1366错误
检查代码如下:
show variables like '%char%';
发现以下数据类型不是utf8。
解决办法
1.修改字段的编码格式
当仅需要修改表中某一个字段的编码格式为utf8时,代码如下:
alter table 表名 modify 字段名 字段char类型 character set utf8;
如何查看一张表的字段详情如下:
show full columns from 表名;
2.修改表的编码格式
在创建一个新的数据库表时,设置其编码格式为utf8,这样在该表中的所有char字段编码格式均为utf8,不会出现中文乱码的问题
创建数据库表的代码后加上default charset=utf8如下:
mysql> create table 表名称(字段 字段类型1,字段2, 类型2...)default charset=utf8;
3.修改数据库的编码格式
在创建一个新的数据库时直接指定其编码格式为:utf8,这样在该数据库中所新建的表中的char字段均不会出现中文乱码的问题。
创建数据库的代码如下:
create database 数据库名 character set utf8;
4.修改整个mysql的编码格式
1.在mysql的安装目录下查找my.ini文件,该文件是隐藏的,需要进行搜索查找,我的mysql是安装在C盘目录下的,所以在C盘目录进行搜索my.ini文件,找到该文件的目录,如下:
2.找到my.ini文件后使用notepad++打开(不能用txt修改保存,因为其不是utf8编码格式,无法进行修改),并修改以下内容:
1.在[client]中新增如下代码:
default-character-set=utf8
2.在[mysqld]中新增如下代码:
character-set-server=utf8
3.修改完成后保存
4.关闭mysql服务器,并重新启动,方法如下:
计算机——》右键——》管理——》服务器与应用——》服务——》找到MYSQL——右键——》停止——》停止成功后,再右键重新启动
5.重新启动MYSQL服务器后,进入mysql,输入以下命令:
show variables like ‘%char%’;查看到以下信息,表示修改成功,以后再也不会有中文乱码的问题了
FAQ:ERROR 1366 (HY000)的utf8中文乱码问题相关推荐
- mysql insert 1366_mysql insert中文乱码无法插入ERROR 1366 (HY000): Incorrect string value
MYSQL经典问题: (ERROR 1366 (HY000): Incorrect string value:'\xD5\xD4' for column 'name' at row 1) 网上有好多解 ...
- MySQL插入中文出现报错: ERROR 1366 (HY000): Incorrect string value: ‘\xD5\xC5\xC8\xFD‘的解决方案
MySQL插入中文出现报错: ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD'的解决方案 1 MySQL 5.5 版本 1. ...
- mysql 中文字段报错_mysql 中 王数据表中插入中文字段报错:mysql insert into a values(202,王一); ERROR 1366 (HY000): Incorr...
报错信息: mysql> insert into a values(202,"王一"); ERROR 1366 (HY000): Incorrect string value ...
- Mysql插入中文时提示:ERROR 1366 (HY000): Incorrect string value: '\xE5\x8F\xB0\xE5\xBC\x8F...' fo
Mysql插入数据时提示:ERROR 1366 (HY000): Incorrect string value: '\xE5\x8F\xB0\xE5\xBC\x8F-' fo 分析如下: 首先通过语句 ...
- 解决mysql插入中文字符报错的问题ERROR 1366 (HY000): Incorrect string value: '\xE5\xB0\x8F\xE6\x98\x8E' for column
报错内容: mysql> insert into person values (1,22,'小明'); ERROR 1366 (HY000): Incorrect string value: ' ...
- ERROR 1366 (HY000): Incorrect string value......(Mysql报错解决)
2019.11.29更新:发现了新的解决方法 错误描述 在控制台执行插入操作的时候,Mysql报错ERROR 1366 (HY000): Incorrect string value--插入操作失败, ...
- 【MySQL】【数据库编码问题】ERROR 1366 (HY000): Incorrect string value: '\xC0\xEE\xC7\xBF' for column
[MySQL]ERROR 1366 (HY000): Incorrect string value: '\xC0\xEE\xC7\xBF' for column 'SNAME' at row 1 今天 ...
- ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'name' at row 1
ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'name' at row 1 数据库字符集问题,查 ...
- Linux MySQl 5.7.17 MySQL ERROR 1366(HY000):Incorrect string value 解决方法
MySQL ERROR 1366(HY000):Incorrect string value,在往数据库中插入中文的时候会出现. 这也就是编码问题,网上大部分都是说设置下配置文件中的设置,而可悲的是在 ...
最新文章
- Linux软连接和硬链接
- 《Java疯狂讲义》(第3版)学习笔记 2 - Java语言的运行机制
- 从mysql高可用架构看高可用架构设计
- 主生产计划的功能以及其相关MRP类型参数
- php检测目录,php检测文件目录大小类
- set集合和深浅拷贝
- 关于Unity中NGUI的背包实现之Scrollview(基于Camera)
- 安装使用sublime 对比工具sublimerge
- mysql binlog c++_关于MySQL的日志管理(binlog)
- 董事长亲自“翻墙偷拍”后,身价暴涨3000万
- 《avascript 高级程序设计(第三版)》 ---第三章 基本概念2
- Numpy快速入门教程
- Windows/Linux/Solaris 软中断处理机制
- 郝兵c语言_郝斌主讲C语言 (全180讲)
- Android垂直方向滚动的跑马灯,带gif
- 阿里80亿贷款细节曝光 并购背后图谋大数据
- InnoDB: Assertion failure in thread 140536591259392 in file page0zip.ic
- Struts2的学习 主要是知识点和基础知识
- microPython驱动tft屏幕显示中文终极解决方案
- 进口零食最受欢迎排行榜