记得当时在装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剪切出来,随便放到任何其他的目录,这时你会发现你需要管理员权限移动,恩,
没错,是权限问题。好了,保存之后然后再重新放回原位置。接下来重新插入中文,运行正常了。
时间: 2024-10-24 08:29:54