异常描述

在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中文乱码问题相关推荐

  1. 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) 网上有好多解 ...

  2. 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. ...

  3. mysql 中文字段报错_mysql 中 王数据表中插入中文字段报错:mysql insert into a values(202,王一); ERROR 1366 (HY000): Incorr...

    报错信息: mysql> insert into a values(202,"王一"); ERROR 1366 (HY000): Incorrect string value ...

  4. 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 分析如下: 首先通过语句 ...

  5. 解决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: ' ...

  6. ERROR 1366 (HY000): Incorrect string value......(Mysql报错解决)

    2019.11.29更新:发现了新的解决方法 错误描述 在控制台执行插入操作的时候,Mysql报错ERROR 1366 (HY000): Incorrect string value--插入操作失败, ...

  7. 【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 今天 ...

  8. 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 数据库字符集问题,查 ...

  9. Linux MySQl 5.7.17 MySQL ERROR 1366(HY000):Incorrect string value 解决方法

    MySQL ERROR 1366(HY000):Incorrect string value,在往数据库中插入中文的时候会出现. 这也就是编码问题,网上大部分都是说设置下配置文件中的设置,而可悲的是在 ...

最新文章

  1. Linux软连接和硬链接
  2. 《Java疯狂讲义》(第3版)学习笔记 2 - Java语言的运行机制
  3. 从mysql高可用架构看高可用架构设计
  4. 主生产计划的功能以及其相关MRP类型参数
  5. php检测目录,php检测文件目录大小类
  6. set集合和深浅拷贝
  7. 关于Unity中NGUI的背包实现之Scrollview(基于Camera)
  8. 安装使用sublime 对比工具sublimerge
  9. mysql binlog c++_关于MySQL的日志管理(binlog)
  10. 董事长亲自“翻墙偷拍”后,身价暴涨3000万
  11. 《avascript 高级程序设计(第三版)》 ---第三章 基本概念2
  12. Numpy快速入门教程
  13. Windows/Linux/Solaris 软中断处理机制
  14. 郝兵c语言_郝斌主讲C语言 (全180讲)
  15. Android垂直方向滚动的跑马灯,带gif
  16. 阿里80亿贷款细节曝光 并购背后图谋大数据
  17. InnoDB: Assertion failure in thread 140536591259392 in file page0zip.ic
  18. Struts2的学习 主要是知识点和基础知识
  19. microPython驱动tft屏幕显示中文终极解决方案
  20. 进口零食最受欢迎排行榜

热门文章

  1. BUG解决记录--iOS13中iPhoneX系统右箭头出现黑框
  2. sonar java 编译_Sonar编译问题对应:File [...] can't be indexed twice.
  3. OpenGl学习之显示窗口重定形函数
  4. 解决iphonex底部导航问题
  5. jzxx4015求和2
  6. python并集_python去并集
  7. 如何判断软件质量的的好坏,软件质量的特征
  8. 小程序使用echarts常见问题
  9. 华为手机NFC功能,教你一键复制各种卡
  10. 电机调速(PID算法)(程序原理图全套资料)