cmd控制台插入mysql数据库中文信息时,插入失败的解决办法
故障码:
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
而我们的控制台的编码格式是:gbk,如下图所示:
控制台的打开方式是【开始】->【运行】,在【运行】窗口中输入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)
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。