Incorrect string value: ‘\xE5\xBC\x80\xE5\x8F\x91...‘ for column ‘dname‘ at row 1已解决

问题场景:

   用建表语句创建数据表后,往数据表增加记录,出现“Incorrect string value: '\xE5\xBC\x80\xE5\x8F\x91...' for column 'dname' at row 1:”问题,这是常见的编码问题

这是我的建表语句

CREATE TABLE `dept`  (
  `deptno` int(0) ,
  `dname` varchar(255),
  `db_source` varchar(255)
) ;

添加语句

INSERT INTO `dept` VALUES (1, '开发部', 'db02');
INSERT INTO `dept` VALUES (2, '人事部', 'db02');
INSERT INTO `dept` VALUES (3, '财务部', 'db02');
INSERT INTO `dept` VALUES (4, '市场部', 'db02');
INSERT INTO `dept` VALUES (5, '运维部', 'db02');


问题描述

   我在用sql命令建表之后,往表中添加数据,报异常“1366 - Incorrect string value: '\xE5\xBC\x80\xE5\x8F\x91...' for column 'dname' at row 1”

e00c533b9b894825b97c67e0d4558b38.png

原因分析:

数据编码未设置,识别不了中文字符

        将中文插入到数据库中失败报异常是因为没有将数据库编码设置为支持中文的编码,mysql的默认编码是Latin1,不支持中文,应该设置为utf8


解决方案:

设置数据库表编码为utf8

        观察了半天,终于发现我在创建数据库表的时候确实没有设置编码,如果你的数据表中存在中文字段,一定要设置编码为utf8,不然就会识别不了中文数据,只需要在创建数据表时在后面加上 character set utf8 ,这样我们的编码就设置为utf8了

CREATE DATABASE '数据库名称' CHARACTER SET utf8;

9e48fb9e2d0a42669332825964e87e06.png

 添加成功后再看看我们的数据表里的数据

45225a539ff74e02bc5e1842e84612ad.png

完美,问题解决!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杰杰不会helloworld

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值