总结
总之在建立数据库或数据表后面要加上 default charset=utf8
插入中文数据最好不要在命令提示符中插入,输入命令set names utf8 后,插入中文数据会报错。
我的思考如下:
windows下的命令提示符也只是MySQL数据库client的用户接口,并且另一方面windows下的命令提示符字符编码是修改不了的,所以在windows命令提示符中输入的INSERT命令中的 中文字符 一定是以windows内码–GBK的格式进行编码的。
但是:经过之前建立数据库或数据表后面设置的 default charset=utf8, 使得MySQL数据库client 要求 utf8 的格式进行编码的INSERT命令(当然包括其中的 中文字符),因此MySQL数据库client 就会报错,并通过 windows命令提示符 显式出来。
所以 :
如果将MySQL数据库Server以及Client设置为utf-8编码格式,并且把所有的MySQL数据库也设置为utf-8格式;
此时,
推荐使用 Navicat 这一Client工具,来执行 包含中文字符的SQL命令。
以上只是我个人的一些猜想和思考,如果有误,敬请批评指正。
April 28th, 2016