mysql控制台录入信息错误_cmd控制台插入mysql数据库中文信息时,插入失败的解决办法...

本文介绍了在尝试向MySQL数据库插入中文数据时遇到的错误:`ERROR 1366 (HY000): Incorrect string value`。问题根源在于数据库和控制台的编码格式不匹配,数据库为utf-8,而控制台为gbk。为了解决这个问题,作者建议将数据库的编码格式改为与控制台相同的gbk,通过修改my.ini文件中的配置并重启MySQL服务,最终成功插入中文数据。
摘要由CSDN通过智能技术生成

故障码:

mysql> insert into t1(name,sex,age,address) values('张三','男',11,'沙河');

ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'name'

at row 1

该故障是由于中文编码不一致导致的数据插入失败所致。

一般mysql数据库在插入中文信息时出错的情况无外乎就是中文编码不一致所致。而目前支持中文的编码格式基本上有utf-8,gbk,gb2312三种,而数据库,jsp页面,控制台,Java代码等等的地方要尽可能的编码一致,否则可能会带来不必要的麻烦。

通过查找,我发现我的数据库编码格式是:utf-8,如下所示:

[mysql]

default-character-set=utf8

该信息在mysql的安装目录下的my.ini文件中,以我的为例,就是:C:\Program Files\MySQL\MySQL Server 5.5下的my.ini。

而我们的控制台的编码格式是:gbk,如下图所示:

0818b9ca8b590ca3270a3433284dd417.png

控制台的打开方式是【开始】->【运行】,在【运行】窗口中输入cmd,点击回车键即可。

由于控制台和mysql的中文编码格式不一致,这导致中文数据无法插入成功,解决办法就是将其编码格式进行统一,由于控制台的编码格式不能进行设置,所以我们只有更改数据库的编码格式了,此时我们将数据库的编码格式也改成gbk。

即,将my.ini文件中的utf-8改成gbk,代码如下:

[mysql]

default-character-set=gbk

此时重启mysql服务器,然后再插入中文数据,运行结果如下所示:

mysql> insert into t1(name,sex,age,address) values('张三','男',11,'沙河');

Query OK, 1 row affected (0.05 sec)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值