MySQL Error1366: incrrect string value...

记得当时在装MySQL时使用的是utf8作为默认字符编码的,然后一直用的时候插入的数据也都是英文,所以一直没碰到这个错误。

今天插入中文然后就弹出Error 1366,数据无法插入了。上网查了一些资料,感觉很多网友给的解决方案都没奏效,希望这里写的

东西可以帮到大家:

首先,如果你在安装MySQL时没注意到字符编码这个问题,那么系统默认的字符编码是Latin1,而这种编码是不支持中文的,所以

碰到问题也就无可厚非了。那我们要做的就是把默认的字符编码改过来:

第一、通过MySQL Configuration Wizard:

技术分享

一路保持其他选项不变,直到下面:

技术分享

选择Manual Selected Default Charater Set / Collation,里面选择utf8;

改动之后重新插入,你会发现还是插入错误,依然是 Error 1366,接下来修改MySQL安装目录下的一个my.ini的文件。

打开该文件,修改图中的default-character-set为GBK,

技术分享

然后查看后面的mysqld标签里的character-set-server,让它保持utf8不变,

技术分享

好了,保存之!!!然后你会发现无法保存或者保存失败等各种报错信息。网友提议停掉mysql的service就行,试了之后

完全没用。我们不妨从当前路径中将my.ini剪切出来,随便放到任何其他的目录,这时你会发现你需要管理员权限移动,恩,

没错,是权限问题。好了,保存之后然后再重新放回原位置。接下来重新插入中文,运行正常了。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。