基于上次总结博客中出现的问题和解决方案,我请教了大神,对出现的问题进行了更深刻的剖析,请见下文:
(上一篇博客:【问题解决】MySQL5.5向MySQL数据库中插入汉字时,提示:Incorrect string value: '\Xe7\x8E...' for column 'XXX' atrow 1)
1、创建数据库的时候可以选择数据库使用的字符集,默认的字符集有两种情况
1)在mysql配置文件里面配置了字符集类型。
此时,会用配置文件里配置的字符集来创建mysql数据库、表和字段
2)在mysql配置文件里没有配置字符集类型。
此时,如果在创建库的时候也没有选择使用什么字符集类型,就会用mysql自动默认的latin1
2、在配置文件里面添加了使用什么字符集之后仍然不起作用。
因为配置文件里面配置的字符集只针对在这之后的创建的库起作用,创建之前的库不起作用。
3、对修改配置文件为utf-8之前创建的数据库怎么办?
方法一:如果库很复杂,执行SQL语句修改字符集类型,也是非常有效的。
方法二:如果该库没有什么实际意义的数据,删了重建更省事。
4、通过可视化界面对数据库表的任何操作,最后都会通过可视化界面工具转换成sql语句执行,所以和通过执行SQL语句的原理是一样的。
参考博客:
深入Mysql字符集设置
http://blog.csdn.net/fdipzone/article/details/18180325
十分钟搞清字符集和字符编码
http://blog.jobbole.com/84903/
字符集详解(一看就懂系列)
http://blog.csdn.net/qq_28098067/article/details/53486032